@opentiny/fluent-editor 4.0.0-alpha.8 → 4.0.0-beta.0
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/es/config/editor.config.es.js +112 -0
- package/es/config/editor.config.es.js.map +1 -0
- package/es/config/editor.utils.es.js.map +1 -0
- package/es/config/i18n/en-us.es.js +131 -0
- package/es/config/i18n/en-us.es.js.map +1 -0
- package/es/config/i18n/zh-cn.es.js +131 -0
- package/es/config/i18n/zh-cn.es.js.map +1 -0
- package/es/config/index.es.js +67 -0
- package/es/config/index.es.js.map +1 -0
- package/es/core/fluent-editor.es.js.map +1 -0
- package/es/fluent-editor.es.js +88 -0
- package/es/fluent-editor.es.js.map +1 -0
- package/es/formats/soft-break.es.js.map +1 -0
- package/es/formats/video.es.js.map +1 -0
- package/es/index.es.js +137 -0
- package/es/index.es.js.map +1 -0
- package/es/modules/ai/constants.es.js.map +1 -0
- package/es/modules/ai/index.es.js +670 -0
- package/es/modules/ai/index.es.js.map +1 -0
- package/es/modules/collaborative-editing/awareness/awareness.es.js +92 -0
- package/es/modules/collaborative-editing/awareness/awareness.es.js.map +1 -0
- package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js +16 -0
- package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +1 -0
- package/es/modules/collaborative-editing/collaborative-editing.es.js +110 -0
- package/es/modules/collaborative-editing/collaborative-editing.es.js.map +1 -0
- package/es/modules/collaborative-editing/module.es.js.map +1 -0
- package/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +1 -0
- package/es/modules/collaborative-editing/provider/webrtc.es.js +103 -0
- package/es/modules/collaborative-editing/provider/webrtc.es.js.map +1 -0
- package/es/modules/collaborative-editing/provider/websocket.es.js +113 -0
- package/es/modules/collaborative-editing/provider/websocket.es.js.map +1 -0
- package/es/modules/counter.es.js.map +1 -0
- package/es/modules/custom-clipboard.es.js.map +1 -0
- package/es/modules/custom-image/actions/action.es.js.map +1 -0
- package/es/modules/custom-image/actions/custom-resize-action.es.js.map +1 -0
- package/es/modules/custom-image/actions/delete-action.es.js.map +1 -0
- package/es/modules/custom-image/actions/image-toolbar-buttons.es.js +137 -0
- package/es/modules/custom-image/actions/image-toolbar-buttons.es.js.map +1 -0
- package/es/modules/custom-image/actions/toolbar-action.es.js.map +1 -0
- package/es/modules/custom-image/actions/toolbar.es.js.map +1 -0
- package/es/modules/custom-image/blot-formatter.es.js +140 -0
- package/es/modules/custom-image/blot-formatter.es.js.map +1 -0
- package/es/modules/custom-image/image.es.js.map +1 -0
- package/es/modules/custom-image/options.es.js.map +1 -0
- package/es/modules/custom-image/specs/blot-spec.es.js.map +1 -0
- package/es/modules/custom-image/specs/custom-image-spec.es.js.map +1 -0
- package/es/modules/custom-image/specs/image-spec.es.js.map +1 -0
- package/es/modules/custom-uploader.es.js.map +1 -0
- package/es/modules/divider.es.js.map +1 -0
- package/es/modules/emoji.es.js +167 -0
- package/es/modules/emoji.es.js.map +1 -0
- package/es/modules/file/formats/file.es.js.map +1 -0
- package/es/modules/file/modules/file-bar.es.js.map +1 -0
- package/es/modules/file/modules/file-module.es.js.map +1 -0
- package/es/modules/flow-chart/config-utils.es.js +102 -0
- package/es/modules/flow-chart/config-utils.es.js.map +1 -0
- package/es/modules/flow-chart/formats/flow-chart-blot.es.js +369 -0
- package/es/modules/flow-chart/formats/flow-chart-blot.es.js.map +1 -0
- package/es/modules/flow-chart/i18n/en-us.es.js +30 -0
- package/es/modules/flow-chart/i18n/en-us.es.js.map +1 -0
- package/es/modules/flow-chart/i18n/index.es.js +12 -0
- package/es/modules/flow-chart/i18n/index.es.js.map +1 -0
- package/es/modules/flow-chart/i18n/zh-cn.es.js +30 -0
- package/es/modules/flow-chart/i18n/zh-cn.es.js.map +1 -0
- package/es/modules/flow-chart/icons.es.js +27 -0
- package/es/modules/flow-chart/icons.es.js.map +1 -0
- package/es/modules/flow-chart/index.es.js +45 -0
- package/es/modules/flow-chart/index.es.js.map +1 -0
- package/es/modules/flow-chart/modules/context-menu.es.js +184 -0
- package/es/modules/flow-chart/modules/context-menu.es.js.map +1 -0
- package/es/modules/flow-chart/modules/control-panel.es.js +286 -0
- package/es/modules/flow-chart/modules/control-panel.es.js.map +1 -0
- package/es/modules/flow-chart/modules/custom-resize-action.es.js +150 -0
- package/es/modules/flow-chart/modules/custom-resize-action.es.js.map +1 -0
- package/es/modules/i18n.es.js.map +1 -0
- package/es/modules/index.es.js +31 -0
- package/es/modules/index.es.js.map +1 -0
- package/es/modules/link/formats/link.es.js.map +1 -0
- package/es/modules/link/modules/tooltip.es.js.map +1 -0
- package/es/modules/mathlive/formats.es.js.map +1 -0
- package/es/modules/mathlive/module.es.js.map +1 -0
- package/es/modules/mathlive/tooltip.es.js.map +1 -0
- package/es/modules/mention/mention-link.es.js.map +1 -0
- package/es/modules/mention/mention.es.js.map +1 -0
- package/es/modules/mind-map/config-utils.es.js +108 -0
- package/es/modules/mind-map/config-utils.es.js.map +1 -0
- package/es/modules/mind-map/formats/mind-map-blot.es.js +356 -0
- package/es/modules/mind-map/formats/mind-map-blot.es.js.map +1 -0
- package/es/modules/mind-map/i18n/en-us.es.js +29 -0
- package/es/modules/mind-map/i18n/en-us.es.js.map +1 -0
- package/es/modules/mind-map/i18n/index.es.js +12 -0
- package/es/modules/mind-map/i18n/index.es.js.map +1 -0
- package/es/modules/mind-map/i18n/zh-cn.es.js +29 -0
- package/es/modules/mind-map/i18n/zh-cn.es.js.map +1 -0
- package/es/modules/mind-map/icons.es.js +45 -0
- package/es/modules/mind-map/icons.es.js.map +1 -0
- package/es/modules/mind-map/index.es.js +56 -0
- package/es/modules/mind-map/index.es.js.map +1 -0
- package/es/modules/mind-map/modules/context-menu.es.js +128 -0
- package/es/modules/mind-map/modules/context-menu.es.js.map +1 -0
- package/es/modules/mind-map/modules/control-panel.es.js +425 -0
- package/es/modules/mind-map/modules/control-panel.es.js.map +1 -0
- package/es/modules/mind-map/modules/custom-resize-action.es.js +161 -0
- package/es/modules/mind-map/modules/custom-resize-action.es.js.map +1 -0
- package/es/modules/shortcut-key/index.es.js +245 -0
- package/es/modules/shortcut-key/index.es.js.map +1 -0
- package/es/modules/syntax.es.js.map +1 -0
- package/es/modules/table-up/index.es.js.map +1 -0
- package/es/modules/toolbar/better-picker.es.js.map +1 -0
- package/es/modules/toolbar/better-toolbar.es.js.map +1 -0
- package/es/modules/toolbar/toolbar-tip.es.js.map +1 -0
- package/es/themes/snow.es.js.map +1 -0
- package/es/tools/format-painter.es.js.map +1 -0
- package/es/tools/fullscreen.es.js.map +1 -0
- package/es/tools/screenshot.es.js.map +1 -0
- package/es/ui/icons.config.es.js +369 -0
- package/es/ui/icons.config.es.js.map +1 -0
- package/es/ui/icons.es.js +52 -0
- package/es/ui/icons.es.js.map +1 -0
- package/es/utils/debounce.es.js.map +1 -0
- package/es/utils/image.es.js.map +1 -0
- package/es/utils/is.es.js.map +1 -0
- package/es/utils/merge.es.js +27 -0
- package/es/utils/merge.es.js.map +1 -0
- package/es/utils/method.es.js.map +1 -0
- package/es/utils/scroll-lock.es.js.map +1 -0
- package/flow-chart.css +185 -0
- package/lib/config/editor.config.cjs.js +112 -0
- package/lib/config/editor.config.cjs.js.map +1 -0
- package/lib/config/editor.utils.cjs.js.map +1 -0
- package/lib/config/i18n/en-us.cjs.js +131 -0
- package/lib/config/i18n/en-us.cjs.js.map +1 -0
- package/lib/config/i18n/zh-cn.cjs.js +131 -0
- package/lib/config/i18n/zh-cn.cjs.js.map +1 -0
- package/lib/config/index.cjs.js +66 -0
- package/lib/config/index.cjs.js.map +1 -0
- package/lib/core/fluent-editor.cjs.js.map +1 -0
- package/lib/fluent-editor.cjs.js +88 -0
- package/lib/fluent-editor.cjs.js.map +1 -0
- package/lib/formats/soft-break.cjs.js.map +1 -0
- package/lib/formats/video.cjs.js.map +1 -0
- package/lib/index.cjs.js +158 -0
- package/lib/index.cjs.js.map +1 -0
- package/lib/modules/ai/constants.cjs.js.map +1 -0
- package/lib/modules/ai/index.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/awareness/awareness.cjs.js +92 -0
- package/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js +16 -0
- package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/collaborative-editing.cjs.js +110 -0
- package/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/module.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/provider/webrtc.cjs.js +103 -0
- package/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/provider/websocket.cjs.js +113 -0
- package/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +1 -0
- package/lib/modules/counter.cjs.js.map +1 -0
- package/lib/modules/custom-clipboard.cjs.js.map +1 -0
- package/lib/modules/custom-image/actions/action.cjs.js.map +1 -0
- package/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +1 -0
- package/lib/modules/custom-image/actions/delete-action.cjs.js.map +1 -0
- package/lib/modules/custom-image/actions/image-toolbar-buttons.cjs.js.map +1 -0
- package/lib/modules/custom-image/actions/toolbar-action.cjs.js.map +1 -0
- package/lib/modules/custom-image/actions/toolbar.cjs.js.map +1 -0
- package/lib/modules/custom-image/blot-formatter.cjs.js +140 -0
- package/lib/modules/custom-image/blot-formatter.cjs.js.map +1 -0
- package/lib/modules/custom-image/image.cjs.js.map +1 -0
- package/lib/modules/custom-image/options.cjs.js.map +1 -0
- package/lib/modules/custom-image/specs/blot-spec.cjs.js.map +1 -0
- package/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +1 -0
- package/lib/modules/custom-image/specs/image-spec.cjs.js.map +1 -0
- package/lib/modules/custom-uploader.cjs.js.map +1 -0
- package/lib/modules/divider.cjs.js.map +1 -0
- package/lib/modules/emoji.cjs.js +167 -0
- package/lib/modules/emoji.cjs.js.map +1 -0
- package/lib/modules/file/formats/file.cjs.js.map +1 -0
- package/lib/modules/file/modules/file-bar.cjs.js.map +1 -0
- package/lib/modules/file/modules/file-module.cjs.js.map +1 -0
- package/lib/modules/flow-chart/config-utils.cjs.js +102 -0
- package/lib/modules/flow-chart/config-utils.cjs.js.map +1 -0
- package/lib/modules/flow-chart/formats/flow-chart-blot.cjs.js +369 -0
- package/lib/modules/flow-chart/formats/flow-chart-blot.cjs.js.map +1 -0
- package/lib/modules/flow-chart/i18n/en-us.cjs.js +30 -0
- package/lib/modules/flow-chart/i18n/en-us.cjs.js.map +1 -0
- package/lib/modules/flow-chart/i18n/index.cjs.js +12 -0
- package/lib/modules/flow-chart/i18n/index.cjs.js.map +1 -0
- package/lib/modules/flow-chart/i18n/zh-cn.cjs.js +30 -0
- package/lib/modules/flow-chart/i18n/zh-cn.cjs.js.map +1 -0
- package/lib/modules/flow-chart/icons.cjs.js +27 -0
- package/lib/modules/flow-chart/icons.cjs.js.map +1 -0
- package/lib/modules/flow-chart/index.cjs.js +45 -0
- package/lib/modules/flow-chart/index.cjs.js.map +1 -0
- package/lib/modules/flow-chart/modules/context-menu.cjs.js +184 -0
- package/lib/modules/flow-chart/modules/context-menu.cjs.js.map +1 -0
- package/lib/modules/flow-chart/modules/control-panel.cjs.js +286 -0
- package/lib/modules/flow-chart/modules/control-panel.cjs.js.map +1 -0
- package/lib/modules/flow-chart/modules/custom-resize-action.cjs.js +150 -0
- package/lib/modules/flow-chart/modules/custom-resize-action.cjs.js.map +1 -0
- package/lib/modules/i18n.cjs.js.map +1 -0
- package/lib/modules/index.cjs.js +31 -0
- package/lib/modules/index.cjs.js.map +1 -0
- package/lib/modules/link/formats/link.cjs.js.map +1 -0
- package/lib/modules/link/modules/tooltip.cjs.js.map +1 -0
- package/lib/modules/mathlive/formats.cjs.js.map +1 -0
- package/lib/modules/mathlive/module.cjs.js.map +1 -0
- package/lib/modules/mathlive/tooltip.cjs.js.map +1 -0
- package/lib/modules/mention/mention-link.cjs.js.map +1 -0
- package/lib/modules/mention/mention.cjs.js.map +1 -0
- package/lib/modules/mind-map/config-utils.cjs.js +108 -0
- package/lib/modules/mind-map/config-utils.cjs.js.map +1 -0
- package/lib/modules/mind-map/formats/mind-map-blot.cjs.js +356 -0
- package/lib/modules/mind-map/formats/mind-map-blot.cjs.js.map +1 -0
- package/lib/modules/mind-map/i18n/en-us.cjs.js +29 -0
- package/lib/modules/mind-map/i18n/en-us.cjs.js.map +1 -0
- package/lib/modules/mind-map/i18n/index.cjs.js +12 -0
- package/lib/modules/mind-map/i18n/index.cjs.js.map +1 -0
- package/lib/modules/mind-map/i18n/zh-cn.cjs.js +29 -0
- package/lib/modules/mind-map/i18n/zh-cn.cjs.js.map +1 -0
- package/lib/modules/mind-map/icons.cjs.js +45 -0
- package/lib/modules/mind-map/icons.cjs.js.map +1 -0
- package/lib/modules/mind-map/index.cjs.js +56 -0
- package/lib/modules/mind-map/index.cjs.js.map +1 -0
- package/lib/modules/mind-map/modules/context-menu.cjs.js +128 -0
- package/lib/modules/mind-map/modules/context-menu.cjs.js.map +1 -0
- package/lib/modules/mind-map/modules/control-panel.cjs.js +425 -0
- package/lib/modules/mind-map/modules/control-panel.cjs.js.map +1 -0
- package/lib/modules/mind-map/modules/custom-resize-action.cjs.js +161 -0
- package/lib/modules/mind-map/modules/custom-resize-action.cjs.js.map +1 -0
- package/lib/modules/shortcut-key/index.cjs.js +245 -0
- package/lib/modules/shortcut-key/index.cjs.js.map +1 -0
- package/lib/modules/syntax.cjs.js.map +1 -0
- package/lib/modules/table-up/index.cjs.js.map +1 -0
- package/lib/modules/toolbar/better-picker.cjs.js.map +1 -0
- package/lib/modules/toolbar/better-toolbar.cjs.js.map +1 -0
- package/lib/modules/toolbar/toolbar-tip.cjs.js.map +1 -0
- package/lib/themes/snow.cjs.js.map +1 -0
- package/lib/tools/format-painter.cjs.js.map +1 -0
- package/lib/tools/fullscreen.cjs.js.map +1 -0
- package/lib/tools/screenshot.cjs.js.map +1 -0
- package/lib/ui/icons.cjs.js +52 -0
- package/lib/ui/icons.cjs.js.map +1 -0
- package/lib/ui/icons.config.cjs.js +369 -0
- package/lib/ui/icons.config.cjs.js.map +1 -0
- package/lib/utils/debounce.cjs.js.map +1 -0
- package/lib/utils/image.cjs.js.map +1 -0
- package/lib/utils/is.cjs.js.map +1 -0
- package/lib/utils/merge.cjs.js +27 -0
- package/lib/utils/merge.cjs.js.map +1 -0
- package/lib/utils/method.cjs.js.map +1 -0
- package/lib/utils/scroll-lock.cjs.js.map +1 -0
- package/mind-map.css +224 -0
- package/package.json +15 -37
- package/patches/quill@2.0.3.patch +33 -0
- package/scripts/apply-patches.cjs +248 -0
- package/style.css +3465 -0
- package/types/config/editor.config.d.ts +55 -0
- package/types/config/i18n/en-us.d.ts +125 -0
- package/types/config/i18n/zh-cn.d.ts +125 -0
- package/types/config/types/editor-modules.interface.d.ts +45 -0
- package/types/index.d.ts +8 -0
- package/types/modules/collaborative-editing/awareness/awareness.d.ts +28 -0
- package/types/modules/collaborative-editing/awareness/y-indexeddb.d.ts +3 -0
- package/types/modules/collaborative-editing/collaborative-editing.d.ts +25 -0
- package/types/modules/collaborative-editing/provider/providerRegistry.d.ts +26 -0
- package/types/modules/collaborative-editing/provider/webrtc.d.ts +37 -0
- package/types/modules/collaborative-editing/provider/websocket.d.ts +41 -0
- package/types/modules/collaborative-editing/types.d.ts +53 -0
- package/types/modules/flow-chart/config-utils.d.ts +10 -0
- package/types/modules/flow-chart/formats/flow-chart-blot.d.ts +43 -0
- package/types/modules/flow-chart/i18n/en-us.d.ts +26 -0
- package/types/modules/flow-chart/i18n/index.d.ts +1 -0
- package/types/modules/flow-chart/i18n/zh-cn.d.ts +26 -0
- package/types/modules/flow-chart/icons.d.ts +12 -0
- package/types/modules/flow-chart/index.d.ts +10 -0
- package/types/modules/flow-chart/modules/context-menu.d.ts +3 -0
- package/types/modules/flow-chart/modules/control-panel.d.ts +3 -0
- package/types/modules/flow-chart/modules/custom-resize-action.d.ts +22 -0
- package/types/modules/flow-chart/options.d.ts +29 -0
- package/types/modules/index.d.ts +18 -0
- package/types/modules/mind-map/config-utils.d.ts +12 -0
- package/types/modules/mind-map/formats/mind-map-blot.d.ts +44 -0
- package/types/modules/mind-map/i18n/en-us.d.ts +25 -0
- package/types/modules/mind-map/i18n/index.d.ts +1 -0
- package/types/modules/mind-map/i18n/zh-cn.d.ts +25 -0
- package/types/modules/mind-map/icons.d.ts +21 -0
- package/types/modules/mind-map/index.d.ts +10 -0
- package/types/modules/mind-map/modules/context-menu.d.ts +3 -0
- package/types/modules/mind-map/modules/control-panel.d.ts +3 -0
- package/types/modules/mind-map/modules/custom-resize-action.d.ts +23 -0
- package/types/modules/mind-map/options.d.ts +27 -0
- package/types/ui/icons.config.d.ts +40 -0
- package/types/utils/merge.d.ts +7 -0
- package/LICENSE +0 -21
- package/dist/es/config/editor.config.es.js +0 -85
- package/dist/es/config/editor.config.es.js.map +0 -1
- package/dist/es/config/editor.utils.es.js.map +0 -1
- package/dist/es/config/i18n/en-us.es.js +0 -129
- package/dist/es/config/i18n/en-us.es.js.map +0 -1
- package/dist/es/config/i18n/zh-cn.es.js +0 -129
- package/dist/es/config/i18n/zh-cn.es.js.map +0 -1
- package/dist/es/config/index.es.js +0 -65
- package/dist/es/config/index.es.js.map +0 -1
- package/dist/es/core/fluent-editor.es.js.map +0 -1
- package/dist/es/fluent-editor.es.js +0 -84
- package/dist/es/fluent-editor.es.js.map +0 -1
- package/dist/es/formats/soft-break.es.js.map +0 -1
- package/dist/es/formats/video.es.js.map +0 -1
- package/dist/es/index.es.js +0 -104
- package/dist/es/index.es.js.map +0 -1
- package/dist/es/modules/ai/constants.es.js.map +0 -1
- package/dist/es/modules/ai/index.es.js +0 -670
- package/dist/es/modules/ai/index.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/awareness/awareness.es.js +0 -93
- package/dist/es/modules/collaborative-editing/awareness/awareness.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/awareness/y-indexeddb.es.js +0 -12
- package/dist/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/collaborative-editing.es.js +0 -105
- package/dist/es/modules/collaborative-editing/collaborative-editing.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/module.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/provider/webrtc.es.js +0 -99
- package/dist/es/modules/collaborative-editing/provider/webrtc.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/provider/websocket.es.js +0 -111
- package/dist/es/modules/collaborative-editing/provider/websocket.es.js.map +0 -1
- package/dist/es/modules/counter.es.js.map +0 -1
- package/dist/es/modules/custom-clipboard.es.js.map +0 -1
- package/dist/es/modules/custom-image/actions/action.es.js.map +0 -1
- package/dist/es/modules/custom-image/actions/custom-resize-action.es.js.map +0 -1
- package/dist/es/modules/custom-image/actions/delete-action.es.js.map +0 -1
- package/dist/es/modules/custom-image/actions/image-toolbar-buttons.es.js +0 -137
- package/dist/es/modules/custom-image/actions/image-toolbar-buttons.es.js.map +0 -1
- package/dist/es/modules/custom-image/actions/toolbar-action.es.js.map +0 -1
- package/dist/es/modules/custom-image/actions/toolbar.es.js.map +0 -1
- package/dist/es/modules/custom-image/blot-formatter.es.js +0 -140
- package/dist/es/modules/custom-image/blot-formatter.es.js.map +0 -1
- package/dist/es/modules/custom-image/image.es.js.map +0 -1
- package/dist/es/modules/custom-image/options.es.js.map +0 -1
- package/dist/es/modules/custom-image/specs/blot-spec.es.js.map +0 -1
- package/dist/es/modules/custom-image/specs/custom-image-spec.es.js.map +0 -1
- package/dist/es/modules/custom-image/specs/image-spec.es.js.map +0 -1
- package/dist/es/modules/custom-uploader.es.js.map +0 -1
- package/dist/es/modules/divider.es.js.map +0 -1
- package/dist/es/modules/emoji.es.js +0 -167
- package/dist/es/modules/emoji.es.js.map +0 -1
- package/dist/es/modules/file/formats/file.es.js.map +0 -1
- package/dist/es/modules/file/modules/file-bar.es.js.map +0 -1
- package/dist/es/modules/file/modules/file-module.es.js.map +0 -1
- package/dist/es/modules/i18n.es.js.map +0 -1
- package/dist/es/modules/index.es.js +0 -27
- package/dist/es/modules/index.es.js.map +0 -1
- package/dist/es/modules/link/formats/link.es.js.map +0 -1
- package/dist/es/modules/link/modules/tooltip.es.js.map +0 -1
- package/dist/es/modules/mathlive/formats.es.js.map +0 -1
- package/dist/es/modules/mathlive/module.es.js.map +0 -1
- package/dist/es/modules/mathlive/tooltip.es.js.map +0 -1
- package/dist/es/modules/mention/mention-link.es.js.map +0 -1
- package/dist/es/modules/mention/mention.es.js.map +0 -1
- package/dist/es/modules/shortcut-key/index.es.js +0 -229
- package/dist/es/modules/shortcut-key/index.es.js.map +0 -1
- package/dist/es/modules/syntax.es.js.map +0 -1
- package/dist/es/modules/table-up/index.es.js.map +0 -1
- package/dist/es/modules/toolbar/better-picker.es.js.map +0 -1
- package/dist/es/modules/toolbar/better-toolbar.es.js.map +0 -1
- package/dist/es/modules/toolbar/toolbar-tip.es.js.map +0 -1
- package/dist/es/themes/snow.es.js.map +0 -1
- package/dist/es/tools/format-painter.es.js.map +0 -1
- package/dist/es/tools/fullscreen.es.js.map +0 -1
- package/dist/es/tools/screenshot.es.js.map +0 -1
- package/dist/es/ui/icons.config.es.js +0 -365
- package/dist/es/ui/icons.config.es.js.map +0 -1
- package/dist/es/ui/icons.es.js +0 -50
- package/dist/es/ui/icons.es.js.map +0 -1
- package/dist/es/utils/debounce.es.js.map +0 -1
- package/dist/es/utils/image.es.js.map +0 -1
- package/dist/es/utils/is.es.js.map +0 -1
- package/dist/es/utils/method.es.js.map +0 -1
- package/dist/es/utils/scroll-lock.es.js.map +0 -1
- package/dist/lib/config/editor.config.cjs.js +0 -85
- package/dist/lib/config/editor.config.cjs.js.map +0 -1
- package/dist/lib/config/editor.utils.cjs.js.map +0 -1
- package/dist/lib/config/i18n/en-us.cjs.js +0 -129
- package/dist/lib/config/i18n/en-us.cjs.js.map +0 -1
- package/dist/lib/config/i18n/zh-cn.cjs.js +0 -129
- package/dist/lib/config/i18n/zh-cn.cjs.js.map +0 -1
- package/dist/lib/config/index.cjs.js +0 -64
- package/dist/lib/config/index.cjs.js.map +0 -1
- package/dist/lib/core/fluent-editor.cjs.js.map +0 -1
- package/dist/lib/fluent-editor.cjs.js +0 -84
- package/dist/lib/fluent-editor.cjs.js.map +0 -1
- package/dist/lib/formats/soft-break.cjs.js.map +0 -1
- package/dist/lib/formats/video.cjs.js.map +0 -1
- package/dist/lib/index.cjs.js +0 -125
- package/dist/lib/index.cjs.js.map +0 -1
- package/dist/lib/modules/ai/constants.cjs.js.map +0 -1
- package/dist/lib/modules/ai/index.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/awareness/awareness.cjs.js +0 -110
- package/dist/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js +0 -12
- package/dist/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/collaborative-editing.cjs.js +0 -122
- package/dist/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/module.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/provider/webrtc.cjs.js +0 -116
- package/dist/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/provider/websocket.cjs.js +0 -128
- package/dist/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +0 -1
- package/dist/lib/modules/counter.cjs.js.map +0 -1
- package/dist/lib/modules/custom-clipboard.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/actions/action.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/actions/delete-action.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/actions/image-toolbar-buttons.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/actions/toolbar-action.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/actions/toolbar.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/blot-formatter.cjs.js +0 -140
- package/dist/lib/modules/custom-image/blot-formatter.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/image.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/options.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/specs/blot-spec.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/specs/image-spec.cjs.js.map +0 -1
- package/dist/lib/modules/custom-uploader.cjs.js.map +0 -1
- package/dist/lib/modules/divider.cjs.js.map +0 -1
- package/dist/lib/modules/emoji.cjs.js +0 -167
- package/dist/lib/modules/emoji.cjs.js.map +0 -1
- package/dist/lib/modules/file/formats/file.cjs.js.map +0 -1
- package/dist/lib/modules/file/modules/file-bar.cjs.js.map +0 -1
- package/dist/lib/modules/file/modules/file-module.cjs.js.map +0 -1
- package/dist/lib/modules/i18n.cjs.js.map +0 -1
- package/dist/lib/modules/index.cjs.js +0 -27
- package/dist/lib/modules/index.cjs.js.map +0 -1
- package/dist/lib/modules/link/formats/link.cjs.js.map +0 -1
- package/dist/lib/modules/link/modules/tooltip.cjs.js.map +0 -1
- package/dist/lib/modules/mathlive/formats.cjs.js.map +0 -1
- package/dist/lib/modules/mathlive/module.cjs.js.map +0 -1
- package/dist/lib/modules/mathlive/tooltip.cjs.js.map +0 -1
- package/dist/lib/modules/mention/mention-link.cjs.js.map +0 -1
- package/dist/lib/modules/mention/mention.cjs.js.map +0 -1
- package/dist/lib/modules/shortcut-key/index.cjs.js +0 -229
- package/dist/lib/modules/shortcut-key/index.cjs.js.map +0 -1
- package/dist/lib/modules/syntax.cjs.js.map +0 -1
- package/dist/lib/modules/table-up/index.cjs.js.map +0 -1
- package/dist/lib/modules/toolbar/better-picker.cjs.js.map +0 -1
- package/dist/lib/modules/toolbar/better-toolbar.cjs.js.map +0 -1
- package/dist/lib/modules/toolbar/toolbar-tip.cjs.js.map +0 -1
- package/dist/lib/themes/snow.cjs.js.map +0 -1
- package/dist/lib/tools/format-painter.cjs.js.map +0 -1
- package/dist/lib/tools/fullscreen.cjs.js.map +0 -1
- package/dist/lib/tools/screenshot.cjs.js.map +0 -1
- package/dist/lib/ui/icons.cjs.js +0 -50
- package/dist/lib/ui/icons.cjs.js.map +0 -1
- package/dist/lib/ui/icons.config.cjs.js +0 -365
- package/dist/lib/ui/icons.config.cjs.js.map +0 -1
- package/dist/lib/utils/debounce.cjs.js.map +0 -1
- package/dist/lib/utils/image.cjs.js.map +0 -1
- package/dist/lib/utils/is.cjs.js.map +0 -1
- package/dist/lib/utils/method.cjs.js.map +0 -1
- package/dist/lib/utils/scroll-lock.cjs.js.map +0 -1
- package/dist/package.json +0 -67
- package/dist/style.css +0 -3463
- package/dist/types/config/editor.config.d.ts +0 -11
- package/dist/types/config/i18n/en-us.d.ts +0 -123
- package/dist/types/config/i18n/zh-cn.d.ts +0 -123
- package/dist/types/config/types/editor-modules.interface.d.ts +0 -41
- package/dist/types/index.d.ts +0 -8
- package/dist/types/modules/collaborative-editing/awareness/awareness.d.ts +0 -28
- package/dist/types/modules/collaborative-editing/awareness/y-indexeddb.d.ts +0 -2
- package/dist/types/modules/collaborative-editing/collaborative-editing.d.ts +0 -24
- package/dist/types/modules/collaborative-editing/provider/providerRegistry.d.ts +0 -25
- package/dist/types/modules/collaborative-editing/provider/webrtc.d.ts +0 -36
- package/dist/types/modules/collaborative-editing/provider/websocket.d.ts +0 -40
- package/dist/types/modules/collaborative-editing/types.d.ts +0 -37
- package/dist/types/modules/index.d.ts +0 -16
- package/dist/types/ui/icons.config.d.ts +0 -38
- package/scripts/pre-release.cjs +0 -35
- package/src/assets/ai.scss +0 -451
- package/src/assets/common/config.scss +0 -4
- package/src/assets/common.scss +0 -132
- package/src/assets/counter.scss +0 -16
- package/src/assets/custom-image.scss +0 -19
- package/src/assets/editor.scss +0 -351
- package/src/assets/fileBar.scss +0 -107
- package/src/assets/font.scss +0 -18
- package/src/assets/fullscreen.scss +0 -50
- package/src/assets/iconfont/iconfont.ttf +0 -0
- package/src/assets/iconfont/iconfont.woff +0 -0
- package/src/assets/iconfont/iconfont.woff2 +0 -0
- package/src/assets/imageBar.scss +0 -98
- package/src/assets/lineHeight.scss +0 -15
- package/src/assets/link.scss +0 -120
- package/src/assets/mathlive.scss +0 -40
- package/src/assets/mention.scss +0 -48
- package/src/assets/screenshot.scss +0 -78
- package/src/assets/size.scss +0 -11
- package/src/assets/style.scss +0 -46
- package/src/assets/svgs/align-center.svg +0 -41
- package/src/assets/svgs/align-justify.svg +0 -8
- package/src/assets/svgs/arrow-down.svg +0 -6
- package/src/assets/svgs/background-color.svg +0 -7
- package/src/assets/svgs/clean.svg +0 -8
- package/src/assets/svgs/code-block.svg +0 -5
- package/src/assets/svgs/code.svg +0 -25
- package/src/assets/svgs/color.svg +0 -7
- package/src/assets/svgs/direction-ltr.svg +0 -8
- package/src/assets/svgs/direction-rtl.svg +0 -8
- package/src/assets/svgs/divider.svg +0 -4
- package/src/assets/svgs/emoji.svg +0 -53
- package/src/assets/svgs/file.svg +0 -12
- package/src/assets/svgs/format-painter.svg +0 -10
- package/src/assets/svgs/formula.svg +0 -6
- package/src/assets/svgs/fullscreen.svg +0 -43
- package/src/assets/svgs/image.svg +0 -17
- package/src/assets/svgs/italic.svg +0 -6
- package/src/assets/svgs/link.svg +0 -9
- package/src/assets/svgs/list-bullet.svg +0 -16
- package/src/assets/svgs/list-ordered.svg +0 -18
- package/src/assets/svgs/list-task.svg +0 -5
- package/src/assets/svgs/redo.svg +0 -8
- package/src/assets/svgs/screenshot.svg +0 -17
- package/src/assets/svgs/script-sub.svg +0 -15
- package/src/assets/svgs/script-super.svg +0 -15
- package/src/assets/svgs/strike.svg +0 -6
- package/src/assets/svgs/underline.svg +0 -13
- package/src/assets/svgs/undo.svg +0 -8
- package/src/assets/svgs/video.svg +0 -10
- package/src/assets/tasklist.scss +0 -76
- package/src/assets/toolbar.scss +0 -385
- package/src/assets/variable.scss +0 -9
- package/src/assets/video.scss +0 -5
- package/src/attributors/font-size.ts +0 -6
- package/src/attributors/font-style.ts +0 -6
- package/src/attributors/index.ts +0 -4
- package/src/attributors/line-height.ts +0 -6
- package/src/attributors/text-indent.ts +0 -6
- package/src/config/base64-image.ts +0 -5
- package/src/config/editor.config.ts +0 -86
- package/src/config/editor.utils.ts +0 -193
- package/src/config/i18n/en-us.ts +0 -138
- package/src/config/i18n/zh-cn.ts +0 -137
- package/src/config/index.ts +0 -44
- package/src/config/types/editor-config.interface.ts +0 -16
- package/src/config/types/editor-modules.interface.ts +0 -47
- package/src/config/types/index.ts +0 -3
- package/src/config/types/type.ts +0 -2
- package/src/core/fluent-editor.ts +0 -31
- package/src/fluent-editor.ts +0 -72
- package/src/formats/emoji.ts +0 -10
- package/src/formats/index.ts +0 -4
- package/src/formats/soft-break.ts +0 -27
- package/src/formats/strike.ts +0 -11
- package/src/formats/video.ts +0 -53
- package/src/index.ts +0 -9
- package/src/modules/ai/constants.ts +0 -43
- package/src/modules/ai/icons.ts +0 -333
- package/src/modules/ai/index.ts +0 -850
- package/src/modules/ai/types.ts +0 -18
- package/src/modules/collaborative-editing/awareness/awareness.ts +0 -141
- package/src/modules/collaborative-editing/awareness/index.ts +0 -2
- package/src/modules/collaborative-editing/awareness/y-indexeddb.ts +0 -12
- package/src/modules/collaborative-editing/collaborative-editing.ts +0 -115
- package/src/modules/collaborative-editing/index.ts +0 -2
- package/src/modules/collaborative-editing/module.ts +0 -32
- package/src/modules/collaborative-editing/provider/index.ts +0 -3
- package/src/modules/collaborative-editing/provider/providerRegistry.ts +0 -57
- package/src/modules/collaborative-editing/provider/webrtc.ts +0 -125
- package/src/modules/collaborative-editing/provider/websocket.ts +0 -142
- package/src/modules/collaborative-editing/types.ts +0 -44
- package/src/modules/counter.ts +0 -84
- package/src/modules/custom-clipboard.ts +0 -537
- package/src/modules/custom-image/actions/action.ts +0 -15
- package/src/modules/custom-image/actions/custom-resize-action.ts +0 -207
- package/src/modules/custom-image/actions/delete-action.ts +0 -32
- package/src/modules/custom-image/actions/image-toolbar-buttons.ts +0 -135
- package/src/modules/custom-image/actions/index.ts +0 -6
- package/src/modules/custom-image/actions/toolbar-action.ts +0 -32
- package/src/modules/custom-image/actions/toolbar.ts +0 -145
- package/src/modules/custom-image/blot-formatter.ts +0 -158
- package/src/modules/custom-image/image.ts +0 -132
- package/src/modules/custom-image/index.ts +0 -4
- package/src/modules/custom-image/options.ts +0 -139
- package/src/modules/custom-image/specs/blot-spec.ts +0 -30
- package/src/modules/custom-image/specs/custom-image-spec.ts +0 -131
- package/src/modules/custom-image/specs/image-spec.ts +0 -28
- package/src/modules/custom-image/specs/index.ts +0 -3
- package/src/modules/custom-uploader.ts +0 -101
- package/src/modules/divider.ts +0 -15
- package/src/modules/emoji.ts +0 -230
- package/src/modules/file/formats/file.ts +0 -61
- package/src/modules/file/index.ts +0 -3
- package/src/modules/file/modules/file-bar.ts +0 -146
- package/src/modules/file/modules/file-module.ts +0 -33
- package/src/modules/i18n.ts +0 -66
- package/src/modules/index.ts +0 -16
- package/src/modules/link/formats/link.ts +0 -43
- package/src/modules/link/index.ts +0 -2
- package/src/modules/link/modules/tooltip.ts +0 -341
- package/src/modules/mathlive/formats.ts +0 -39
- package/src/modules/mathlive/index.ts +0 -3
- package/src/modules/mathlive/module.ts +0 -37
- package/src/modules/mathlive/tooltip.ts +0 -87
- package/src/modules/mention/constants.ts +0 -3
- package/src/modules/mention/index.ts +0 -2
- package/src/modules/mention/mention-link.ts +0 -64
- package/src/modules/mention/mention.ts +0 -404
- package/src/modules/shortcut-key/index.ts +0 -237
- package/src/modules/syntax.ts +0 -35
- package/src/modules/table-up/index.ts +0 -83
- package/src/modules/toolbar/better-picker.ts +0 -67
- package/src/modules/toolbar/better-toolbar.ts +0 -176
- package/src/modules/toolbar/index.ts +0 -3
- package/src/modules/toolbar/toolbar-tip.ts +0 -142
- package/src/themes/snow.ts +0 -309
- package/src/tools/format-painter.ts +0 -85
- package/src/tools/fullscreen.ts +0 -66
- package/src/tools/screenshot.ts +0 -231
- package/src/ui/icons.config.ts +0 -361
- package/src/ui/icons.ts +0 -89
- package/src/utils/debounce.ts +0 -150
- package/src/utils/image.ts +0 -22
- package/src/utils/is.ts +0 -9
- package/src/utils/method.ts +0 -77
- package/src/utils/scroll-lock.ts +0 -52
- package/tsconfig.json +0 -25
- package/vite.config.ts +0 -83
- /package/{dist/README.md → README.md} +0 -0
- /package/{dist/es → es}/attributors/font-size.es.js +0 -0
- /package/{dist/es → es}/attributors/font-size.es.js.map +0 -0
- /package/{dist/es → es}/attributors/font-style.es.js +0 -0
- /package/{dist/es → es}/attributors/font-style.es.js.map +0 -0
- /package/{dist/es → es}/attributors/index.es.js +0 -0
- /package/{dist/es → es}/attributors/index.es.js.map +0 -0
- /package/{dist/es → es}/attributors/line-height.es.js +0 -0
- /package/{dist/es → es}/attributors/line-height.es.js.map +0 -0
- /package/{dist/es → es}/attributors/text-indent.es.js +0 -0
- /package/{dist/es → es}/attributors/text-indent.es.js.map +0 -0
- /package/{dist/es → es}/config/base64-image.es.js +0 -0
- /package/{dist/es → es}/config/base64-image.es.js.map +0 -0
- /package/{dist/es → es}/config/editor.utils.es.js +0 -0
- /package/{dist/es → es}/config/types/editor-config.interface.es.js +0 -0
- /package/{dist/es → es}/config/types/editor-config.interface.es.js.map +0 -0
- /package/{dist/es → es}/config/types/editor-modules.interface.es.js +0 -0
- /package/{dist/es → es}/config/types/editor-modules.interface.es.js.map +0 -0
- /package/{dist/es → es}/config/types/index.es.js +0 -0
- /package/{dist/es → es}/config/types/index.es.js.map +0 -0
- /package/{dist/es → es}/config/types/type.es.js +0 -0
- /package/{dist/es → es}/config/types/type.es.js.map +0 -0
- /package/{dist/es → es}/core/fluent-editor.es.js +0 -0
- /package/{dist/es → es}/formats/emoji.es.js +0 -0
- /package/{dist/es → es}/formats/emoji.es.js.map +0 -0
- /package/{dist/es → es}/formats/index.es.js +0 -0
- /package/{dist/es → es}/formats/index.es.js.map +0 -0
- /package/{dist/es → es}/formats/soft-break.es.js +0 -0
- /package/{dist/es → es}/formats/strike.es.js +0 -0
- /package/{dist/es → es}/formats/strike.es.js.map +0 -0
- /package/{dist/es → es}/formats/video.es.js +0 -0
- /package/{dist/es → es}/modules/ai/constants.es.js +0 -0
- /package/{dist/es → es}/modules/ai/icons.es.js +0 -0
- /package/{dist/es → es}/modules/ai/icons.es.js.map +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/awareness/index.es.js +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/awareness/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/index.es.js +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/module.es.js +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/provider/providerRegistry.es.js +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/types.es.js +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/types.es.js.map +0 -0
- /package/{dist/es → es}/modules/counter.es.js +0 -0
- /package/{dist/es → es}/modules/custom-clipboard.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/action.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/custom-resize-action.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/delete-action.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/index.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/toolbar-action.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/toolbar.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/image.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/index.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/custom-image/options.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/specs/blot-spec.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/specs/custom-image-spec.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/specs/image-spec.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/specs/index.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/specs/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/custom-uploader.es.js +0 -0
- /package/{dist/es → es}/modules/divider.es.js +0 -0
- /package/{dist/es → es}/modules/file/formats/file.es.js +0 -0
- /package/{dist/es → es}/modules/file/index.es.js +0 -0
- /package/{dist/es → es}/modules/file/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/file/modules/file-bar.es.js +0 -0
- /package/{dist/es → es}/modules/file/modules/file-module.es.js +0 -0
- /package/{dist/es → es}/modules/i18n.es.js +0 -0
- /package/{dist/es → es}/modules/link/formats/link.es.js +0 -0
- /package/{dist/es → es}/modules/link/index.es.js +0 -0
- /package/{dist/es → es}/modules/link/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/link/modules/tooltip.es.js +0 -0
- /package/{dist/es → es}/modules/mathlive/formats.es.js +0 -0
- /package/{dist/es → es}/modules/mathlive/index.es.js +0 -0
- /package/{dist/es → es}/modules/mathlive/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/mathlive/module.es.js +0 -0
- /package/{dist/es → es}/modules/mathlive/tooltip.es.js +0 -0
- /package/{dist/es → es}/modules/mention/constants.es.js +0 -0
- /package/{dist/es → es}/modules/mention/constants.es.js.map +0 -0
- /package/{dist/es → es}/modules/mention/index.es.js +0 -0
- /package/{dist/es → es}/modules/mention/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/mention/mention-link.es.js +0 -0
- /package/{dist/es → es}/modules/mention/mention.es.js +0 -0
- /package/{dist/es → es}/modules/syntax.es.js +0 -0
- /package/{dist/es → es}/modules/table-up/index.es.js +0 -0
- /package/{dist/es → es}/modules/toolbar/better-picker.es.js +0 -0
- /package/{dist/es → es}/modules/toolbar/better-toolbar.es.js +0 -0
- /package/{dist/es → es}/modules/toolbar/index.es.js +0 -0
- /package/{dist/es → es}/modules/toolbar/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/toolbar/toolbar-tip.es.js +0 -0
- /package/{dist/es → es}/themes/snow.es.js +0 -0
- /package/{dist/es → es}/tools/format-painter.es.js +0 -0
- /package/{dist/es → es}/tools/fullscreen.es.js +0 -0
- /package/{dist/es → es}/tools/screenshot.es.js +0 -0
- /package/{dist/es → es}/utils/debounce.es.js +0 -0
- /package/{dist/es → es}/utils/image.es.js +0 -0
- /package/{dist/es → es}/utils/is.es.js +0 -0
- /package/{dist/es → es}/utils/method.es.js +0 -0
- /package/{dist/es → es}/utils/scroll-lock.es.js +0 -0
- /package/{dist/lib → lib}/attributors/font-size.cjs.js +0 -0
- /package/{dist/lib → lib}/attributors/font-size.cjs.js.map +0 -0
- /package/{dist/lib → lib}/attributors/font-style.cjs.js +0 -0
- /package/{dist/lib → lib}/attributors/font-style.cjs.js.map +0 -0
- /package/{dist/lib → lib}/attributors/index.cjs.js +0 -0
- /package/{dist/lib → lib}/attributors/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/attributors/line-height.cjs.js +0 -0
- /package/{dist/lib → lib}/attributors/line-height.cjs.js.map +0 -0
- /package/{dist/lib → lib}/attributors/text-indent.cjs.js +0 -0
- /package/{dist/lib → lib}/attributors/text-indent.cjs.js.map +0 -0
- /package/{dist/lib → lib}/config/base64-image.cjs.js +0 -0
- /package/{dist/lib → lib}/config/base64-image.cjs.js.map +0 -0
- /package/{dist/lib → lib}/config/editor.utils.cjs.js +0 -0
- /package/{dist/lib → lib}/config/types/editor-config.interface.cjs.js +0 -0
- /package/{dist/lib → lib}/config/types/editor-config.interface.cjs.js.map +0 -0
- /package/{dist/lib → lib}/config/types/editor-modules.interface.cjs.js +0 -0
- /package/{dist/lib → lib}/config/types/editor-modules.interface.cjs.js.map +0 -0
- /package/{dist/lib → lib}/config/types/index.cjs.js +0 -0
- /package/{dist/lib → lib}/config/types/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/config/types/type.cjs.js +0 -0
- /package/{dist/lib → lib}/config/types/type.cjs.js.map +0 -0
- /package/{dist/lib → lib}/core/fluent-editor.cjs.js +0 -0
- /package/{dist/lib → lib}/formats/emoji.cjs.js +0 -0
- /package/{dist/lib → lib}/formats/emoji.cjs.js.map +0 -0
- /package/{dist/lib → lib}/formats/index.cjs.js +0 -0
- /package/{dist/lib → lib}/formats/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/formats/soft-break.cjs.js +0 -0
- /package/{dist/lib → lib}/formats/strike.cjs.js +0 -0
- /package/{dist/lib → lib}/formats/strike.cjs.js.map +0 -0
- /package/{dist/lib → lib}/formats/video.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/ai/constants.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/ai/icons.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/ai/icons.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/ai/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/awareness/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/awareness/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/module.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/provider/providerRegistry.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/types.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/types.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/counter.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-clipboard.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/action.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/custom-resize-action.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/delete-action.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/image-toolbar-buttons.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/toolbar-action.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/toolbar.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/image.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/custom-image/options.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/specs/blot-spec.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/specs/custom-image-spec.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/specs/image-spec.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/specs/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/specs/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/custom-uploader.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/divider.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/file/formats/file.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/file/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/file/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/file/modules/file-bar.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/file/modules/file-module.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/i18n.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/link/formats/link.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/link/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/link/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/link/modules/tooltip.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mathlive/formats.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mathlive/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mathlive/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/mathlive/module.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mathlive/tooltip.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mention/constants.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mention/constants.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/mention/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mention/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/mention/mention-link.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mention/mention.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/syntax.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/table-up/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/toolbar/better-picker.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/toolbar/better-toolbar.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/toolbar/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/toolbar/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/toolbar/toolbar-tip.cjs.js +0 -0
- /package/{dist/lib → lib}/themes/snow.cjs.js +0 -0
- /package/{dist/lib → lib}/tools/format-painter.cjs.js +0 -0
- /package/{dist/lib → lib}/tools/fullscreen.cjs.js +0 -0
- /package/{dist/lib → lib}/tools/screenshot.cjs.js +0 -0
- /package/{dist/lib → lib}/utils/debounce.cjs.js +0 -0
- /package/{dist/lib → lib}/utils/image.cjs.js +0 -0
- /package/{dist/lib → lib}/utils/is.cjs.js +0 -0
- /package/{dist/lib → lib}/utils/method.cjs.js +0 -0
- /package/{dist/lib → lib}/utils/scroll-lock.cjs.js +0 -0
- /package/{dist/types → types}/attributors/font-size.d.ts +0 -0
- /package/{dist/types → types}/attributors/font-style.d.ts +0 -0
- /package/{dist/types → types}/attributors/index.d.ts +0 -0
- /package/{dist/types → types}/attributors/line-height.d.ts +0 -0
- /package/{dist/types → types}/attributors/text-indent.d.ts +0 -0
- /package/{dist/types → types}/config/base64-image.d.ts +0 -0
- /package/{dist/types → types}/config/editor.utils.d.ts +0 -0
- /package/{dist/types → types}/config/index.d.ts +0 -0
- /package/{dist/types → types}/config/types/editor-config.interface.d.ts +0 -0
- /package/{dist/types → types}/config/types/index.d.ts +0 -0
- /package/{dist/types → types}/config/types/type.d.ts +0 -0
- /package/{dist/types → types}/core/fluent-editor.d.ts +0 -0
- /package/{dist/types → types}/fluent-editor.d.ts +0 -0
- /package/{dist/types → types}/formats/emoji.d.ts +0 -0
- /package/{dist/types → types}/formats/index.d.ts +0 -0
- /package/{dist/types → types}/formats/soft-break.d.ts +0 -0
- /package/{dist/types → types}/formats/strike.d.ts +0 -0
- /package/{dist/types → types}/formats/video.d.ts +0 -0
- /package/{dist/types → types}/modules/ai/constants.d.ts +0 -0
- /package/{dist/types → types}/modules/ai/icons.d.ts +0 -0
- /package/{dist/types → types}/modules/ai/index.d.ts +0 -0
- /package/{dist/types → types}/modules/ai/types.d.ts +0 -0
- /package/{dist/types → types}/modules/collaborative-editing/awareness/index.d.ts +0 -0
- /package/{dist/types → types}/modules/collaborative-editing/index.d.ts +0 -0
- /package/{dist/types → types}/modules/collaborative-editing/module.d.ts +0 -0
- /package/{dist/types → types}/modules/collaborative-editing/provider/index.d.ts +0 -0
- /package/{dist/types → types}/modules/counter.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-clipboard.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/action.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/custom-resize-action.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/delete-action.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/image-toolbar-buttons.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/index.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/toolbar-action.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/toolbar.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/blot-formatter.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/image.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/index.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/options.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/specs/blot-spec.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/specs/custom-image-spec.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/specs/image-spec.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/specs/index.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-uploader.d.ts +0 -0
- /package/{dist/types → types}/modules/divider.d.ts +0 -0
- /package/{dist/types → types}/modules/emoji.d.ts +0 -0
- /package/{dist/types → types}/modules/file/formats/file.d.ts +0 -0
- /package/{dist/types → types}/modules/file/index.d.ts +0 -0
- /package/{dist/types → types}/modules/file/modules/file-bar.d.ts +0 -0
- /package/{dist/types → types}/modules/file/modules/file-module.d.ts +0 -0
- /package/{dist/types → types}/modules/i18n.d.ts +0 -0
- /package/{dist/types → types}/modules/link/formats/link.d.ts +0 -0
- /package/{dist/types → types}/modules/link/index.d.ts +0 -0
- /package/{dist/types → types}/modules/link/modules/tooltip.d.ts +0 -0
- /package/{dist/types → types}/modules/mathlive/formats.d.ts +0 -0
- /package/{dist/types → types}/modules/mathlive/index.d.ts +0 -0
- /package/{dist/types → types}/modules/mathlive/module.d.ts +0 -0
- /package/{dist/types → types}/modules/mathlive/tooltip.d.ts +0 -0
- /package/{dist/types → types}/modules/mention/constants.d.ts +0 -0
- /package/{dist/types → types}/modules/mention/index.d.ts +0 -0
- /package/{dist/types → types}/modules/mention/mention-link.d.ts +0 -0
- /package/{dist/types → types}/modules/mention/mention.d.ts +0 -0
- /package/{dist/types → types}/modules/shortcut-key/index.d.ts +0 -0
- /package/{dist/types → types}/modules/syntax.d.ts +0 -0
- /package/{dist/types → types}/modules/table-up/index.d.ts +0 -0
- /package/{dist/types → types}/modules/toolbar/better-picker.d.ts +0 -0
- /package/{dist/types → types}/modules/toolbar/better-toolbar.d.ts +0 -0
- /package/{dist/types → types}/modules/toolbar/index.d.ts +0 -0
- /package/{dist/types → types}/modules/toolbar/toolbar-tip.d.ts +0 -0
- /package/{dist/types → types}/themes/snow.d.ts +0 -0
- /package/{dist/types → types}/tools/format-painter.d.ts +0 -0
- /package/{dist/types → types}/tools/fullscreen.d.ts +0 -0
- /package/{dist/types → types}/tools/screenshot.d.ts +0 -0
- /package/{dist/types → types}/ui/icons.d.ts +0 -0
- /package/{dist/types → types}/utils/debounce.d.ts +0 -0
- /package/{dist/types → types}/utils/image.d.ts +0 -0
- /package/{dist/types → types}/utils/is.d.ts +0 -0
- /package/{dist/types → types}/utils/method.d.ts +0 -0
- /package/{dist/types → types}/utils/scroll-lock.d.ts +0 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
+
import "../../../config/index.es.js";
|
|
5
|
+
import { I18N } from "../../i18n.es.js";
|
|
6
|
+
import { registerFlowChartI18N } from "../i18n/index.es.js";
|
|
7
|
+
import { CHANGE_LANGUAGE_EVENT } from "../../../config/editor.config.es.js";
|
|
8
|
+
class FlowChartContextMenuHandler {
|
|
9
|
+
constructor(quill, blot) {
|
|
10
|
+
__publicField(this, "texts");
|
|
11
|
+
__publicField(this, "lang");
|
|
12
|
+
this.quill = quill;
|
|
13
|
+
this.blot = blot;
|
|
14
|
+
const i18nModule = this.quill.getModule("i18n");
|
|
15
|
+
registerFlowChartI18N(I18N);
|
|
16
|
+
this.lang = i18nModule.options.lang;
|
|
17
|
+
this.texts = this.resolveTexts();
|
|
18
|
+
this.quill.emitter.on(CHANGE_LANGUAGE_EVENT, (lang) => {
|
|
19
|
+
this.lang = lang;
|
|
20
|
+
this.texts = this.resolveTexts();
|
|
21
|
+
this.updateContextMenuItems();
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
getText(key) {
|
|
25
|
+
return this.texts[key];
|
|
26
|
+
}
|
|
27
|
+
resolveTexts() {
|
|
28
|
+
return {
|
|
29
|
+
copy: I18N.parserText("flowChart.contextMenu.copy", this.lang),
|
|
30
|
+
cut: I18N.parserText("flowChart.contextMenu.cut", this.lang),
|
|
31
|
+
paste: I18N.parserText("flowChart.contextMenu.paste", this.lang),
|
|
32
|
+
deleteContent: I18N.parserText("flowChart.contextMenu.deleteContent", this.lang),
|
|
33
|
+
deleteNode: I18N.parserText("flowChart.contextMenu.deleteNode", this.lang),
|
|
34
|
+
deleteEdge: I18N.parserText("flowChart.contextMenu.deleteEdge", this.lang)
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
updateContextMenuItems() {
|
|
38
|
+
if (!this.blot.contextMenu) return;
|
|
39
|
+
const menuItems = this.blot.contextMenu.querySelectorAll(".ql-flow-chart-context-menu-item");
|
|
40
|
+
if (menuItems.length > 0) {
|
|
41
|
+
Array.from(menuItems).forEach((item) => {
|
|
42
|
+
const text = item.getAttribute("data-text-key");
|
|
43
|
+
if (text && this.texts[text]) {
|
|
44
|
+
item.textContent = this.texts[text];
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const contextMenuHandlers = /* @__PURE__ */ new WeakMap();
|
|
51
|
+
function initContextMenu(blot, quill) {
|
|
52
|
+
blot.contextMenu = document.createElement("div");
|
|
53
|
+
blot.contextMenu.className = "ql-flow-chart-context-menu";
|
|
54
|
+
blot.contextMenu.style.position = "fixed";
|
|
55
|
+
blot.contextMenu.style.background = "white";
|
|
56
|
+
blot.contextMenu.style.borderRadius = "4px";
|
|
57
|
+
blot.contextMenu.style.boxShadow = "0 2px 10px rgba(0,0,0,0.1)";
|
|
58
|
+
blot.contextMenu.style.padding = "5px 0";
|
|
59
|
+
blot.contextMenu.style.zIndex = "1000";
|
|
60
|
+
blot.contextMenu.style.display = "block";
|
|
61
|
+
blot.contextMenu.style.visibility = "visible";
|
|
62
|
+
blot.contextMenu.style.opacity = "1";
|
|
63
|
+
blot.contextMenu.style.width = "120px";
|
|
64
|
+
blot.contextMenu.style.height = "auto";
|
|
65
|
+
blot.domNode.appendChild(blot.contextMenu);
|
|
66
|
+
const handler = new FlowChartContextMenuHandler(quill, blot);
|
|
67
|
+
contextMenuHandlers.set(blot, handler);
|
|
68
|
+
if (blot.flowChart) {
|
|
69
|
+
blot.flowChart.on("node:contextmenu", (event) => {
|
|
70
|
+
const { data, e } = event;
|
|
71
|
+
e.preventDefault();
|
|
72
|
+
e.stopPropagation();
|
|
73
|
+
blot.currentElement = { type: "node", data };
|
|
74
|
+
showNodeContextMenu(blot, handler, e.clientX, e.clientY);
|
|
75
|
+
});
|
|
76
|
+
blot.flowChart.on("edge:contextmenu", (event) => {
|
|
77
|
+
const { data, e } = event;
|
|
78
|
+
e.preventDefault();
|
|
79
|
+
e.stopPropagation();
|
|
80
|
+
blot.currentElement = { type: "edge", data };
|
|
81
|
+
showEdgeContextMenu(blot, handler, e.clientX, e.clientY);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
const hideMenu = () => {
|
|
85
|
+
if (blot.contextMenu) {
|
|
86
|
+
blot.contextMenu.style.display = "none";
|
|
87
|
+
blot.currentElement = null;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
blot.flowChart.on("blank:click", hideMenu);
|
|
91
|
+
document.addEventListener("click", (e) => {
|
|
92
|
+
if (blot.contextMenu && !blot.contextMenu.contains(e.target)) {
|
|
93
|
+
hideMenu();
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
function showNodeContextMenu(blot, handler, x, y) {
|
|
98
|
+
clearContextMenu(blot);
|
|
99
|
+
addContextMenuItem(blot, handler.getText("copy"), "copy", () => handleCopy(blot));
|
|
100
|
+
addContextMenuItem(blot, handler.getText("deleteContent"), "deleteContent", () => handleDeleteContent(blot));
|
|
101
|
+
addContextMenuItem(blot, handler.getText("deleteNode"), "deleteNode", () => handleDeleteNode(blot));
|
|
102
|
+
showContextMenu(blot, x, y);
|
|
103
|
+
}
|
|
104
|
+
function showEdgeContextMenu(blot, handler, x, y) {
|
|
105
|
+
clearContextMenu(blot);
|
|
106
|
+
addContextMenuItem(blot, handler.getText("deleteContent"), "deleteContent", () => handleDeleteContent(blot));
|
|
107
|
+
addContextMenuItem(blot, handler.getText("deleteEdge"), "deleteEdge", () => handleDeleteEdge(blot));
|
|
108
|
+
showContextMenu(blot, x, y);
|
|
109
|
+
}
|
|
110
|
+
function clearContextMenu(blot) {
|
|
111
|
+
if (blot.contextMenu) {
|
|
112
|
+
blot.contextMenu.innerHTML = "";
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function showContextMenu(blot, x, y) {
|
|
116
|
+
if (blot.contextMenu) {
|
|
117
|
+
blot.contextMenu.style.display = "block";
|
|
118
|
+
blot.contextMenu.style.left = `${x}px`;
|
|
119
|
+
blot.contextMenu.style.top = `${y}px`;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
function addContextMenuItem(blot, text, textKey, onClick) {
|
|
123
|
+
const item = document.createElement("div");
|
|
124
|
+
item.className = "ql-flow-chart-context-menu-item";
|
|
125
|
+
item.textContent = text;
|
|
126
|
+
item.setAttribute("data-text-key", textKey);
|
|
127
|
+
item.style.padding = "5px 15px";
|
|
128
|
+
item.style.cursor = "pointer";
|
|
129
|
+
item.style.whiteSpace = "nowrap";
|
|
130
|
+
item.addEventListener("click", onClick);
|
|
131
|
+
item.addEventListener("mouseenter", () => {
|
|
132
|
+
item.style.background = "#f5f5f5";
|
|
133
|
+
});
|
|
134
|
+
item.addEventListener("mouseleave", () => {
|
|
135
|
+
item.style.background = "white";
|
|
136
|
+
});
|
|
137
|
+
blot.contextMenu.appendChild(item);
|
|
138
|
+
}
|
|
139
|
+
function handleCopy(blot) {
|
|
140
|
+
if (blot.currentElement && blot.currentElement.type === "node") {
|
|
141
|
+
const nodeId = blot.currentElement.data.id;
|
|
142
|
+
blot.flowChart.cloneNode(nodeId);
|
|
143
|
+
}
|
|
144
|
+
hideContextMenu(blot);
|
|
145
|
+
}
|
|
146
|
+
function handleDeleteContent(blot) {
|
|
147
|
+
if (blot.currentElement) {
|
|
148
|
+
if (blot.currentElement.type === "node") {
|
|
149
|
+
const node = blot.currentElement.data;
|
|
150
|
+
blot.flowChart.updateText(node.id, "");
|
|
151
|
+
} else if (blot.currentElement.type === "edge") {
|
|
152
|
+
const edge = blot.currentElement.data;
|
|
153
|
+
blot.flowChart.updateText(edge.id, "");
|
|
154
|
+
}
|
|
155
|
+
blot.data = blot.flowChart.getGraphData();
|
|
156
|
+
blot.domNode.setAttribute("data-flow-chart", JSON.stringify(blot.data));
|
|
157
|
+
}
|
|
158
|
+
hideContextMenu(blot);
|
|
159
|
+
}
|
|
160
|
+
function handleDeleteNode(blot) {
|
|
161
|
+
if (blot.currentElement && blot.currentElement.type === "node") {
|
|
162
|
+
blot.flowChart.deleteNode(blot.currentElement.data.id);
|
|
163
|
+
blot.data = blot.flowChart.getGraphData();
|
|
164
|
+
blot.domNode.setAttribute("data-flow-chart", JSON.stringify(blot.data));
|
|
165
|
+
}
|
|
166
|
+
hideContextMenu(blot);
|
|
167
|
+
}
|
|
168
|
+
function handleDeleteEdge(blot) {
|
|
169
|
+
if (blot.currentElement && blot.currentElement.type === "edge") {
|
|
170
|
+
blot.flowChart.deleteEdge(blot.currentElement.data.id);
|
|
171
|
+
blot.data = blot.flowChart.getGraphData();
|
|
172
|
+
blot.domNode.setAttribute("data-flow-chart", JSON.stringify(blot.data));
|
|
173
|
+
}
|
|
174
|
+
hideContextMenu(blot);
|
|
175
|
+
}
|
|
176
|
+
function hideContextMenu(blot) {
|
|
177
|
+
if (blot.contextMenu) {
|
|
178
|
+
blot.contextMenu.style.display = "none";
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
export {
|
|
182
|
+
initContextMenu
|
|
183
|
+
};
|
|
184
|
+
//# sourceMappingURL=context-menu.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-menu.es.js","sources":["../../../../../src/modules/flow-chart/modules/context-menu.ts"],"sourcesContent":["import type FluentEditor from '../../../core/fluent-editor'\nimport type FlowChartPlaceholderBlot from '../formats/flow-chart-blot'\nimport { CHANGE_LANGUAGE_EVENT } from '../../../config'\nimport { I18N } from '../../../modules/i18n'\nimport { registerFlowChartI18N } from '../i18n/index'\n\nclass FlowChartContextMenuHandler {\n private texts: Record<string, string>\n private lang: string\n getText(key: keyof Record<string, string>): string {\n return this.texts[key]\n }\n\n constructor(private quill: FluentEditor, private blot: FlowChartPlaceholderBlot) {\n const i18nModule = this.quill.getModule('i18n') as I18N\n registerFlowChartI18N(I18N)\n this.lang = i18nModule.options.lang\n this.texts = this.resolveTexts()\n this.quill.emitter.on(CHANGE_LANGUAGE_EVENT, (lang: string) => {\n this.lang = lang\n this.texts = this.resolveTexts()\n this.updateContextMenuItems()\n })\n }\n\n resolveTexts() {\n return {\n copy: I18N.parserText('flowChart.contextMenu.copy', this.lang),\n cut: I18N.parserText('flowChart.contextMenu.cut', this.lang),\n paste: I18N.parserText('flowChart.contextMenu.paste', this.lang),\n deleteContent: I18N.parserText('flowChart.contextMenu.deleteContent', this.lang),\n deleteNode: I18N.parserText('flowChart.contextMenu.deleteNode', this.lang),\n deleteEdge: I18N.parserText('flowChart.contextMenu.deleteEdge', this.lang),\n }\n }\n\n updateContextMenuItems() {\n if (!this.blot.contextMenu) return\n\n const menuItems = this.blot.contextMenu.querySelectorAll('.ql-flow-chart-context-menu-item')\n if (menuItems.length > 0) {\n Array.from(menuItems).forEach((item) => {\n const text = item.getAttribute('data-text-key')\n if (text && this.texts[text as keyof Record<string, string>]) {\n item.textContent = this.texts[text as keyof Record<string, string>]\n }\n })\n }\n }\n}\n\nconst contextMenuHandlers = new WeakMap<FlowChartPlaceholderBlot, FlowChartContextMenuHandler>()\n\nexport function initContextMenu(blot: FlowChartPlaceholderBlot, quill: FluentEditor): void {\n blot.contextMenu = document.createElement('div')\n blot.contextMenu.className = 'ql-flow-chart-context-menu'\n blot.contextMenu.style.position = 'fixed'\n blot.contextMenu.style.background = 'white'\n blot.contextMenu.style.borderRadius = '4px'\n blot.contextMenu.style.boxShadow = '0 2px 10px rgba(0,0,0,0.1)'\n blot.contextMenu.style.padding = '5px 0'\n blot.contextMenu.style.zIndex = '1000'\n blot.contextMenu.style.display = 'block'\n blot.contextMenu.style.visibility = 'visible'\n blot.contextMenu.style.opacity = '1'\n blot.contextMenu.style.width = '120px'\n blot.contextMenu.style.height = 'auto'\n blot.domNode.appendChild(blot.contextMenu)\n\n const handler = new FlowChartContextMenuHandler(quill, blot)\n contextMenuHandlers.set(blot, handler)\n\n if (blot.flowChart) {\n blot.flowChart.on('node:contextmenu', (event: any) => {\n const { data, e } = event\n e.preventDefault()\n e.stopPropagation()\n blot.currentElement = { type: 'node', data }\n showNodeContextMenu(blot, handler, e.clientX, e.clientY)\n })\n\n blot.flowChart.on('edge:contextmenu', (event: any) => {\n const { data, e } = event\n e.preventDefault()\n e.stopPropagation()\n blot.currentElement = { type: 'edge', data }\n showEdgeContextMenu(blot, handler, e.clientX, e.clientY)\n })\n }\n\n const hideMenu = () => {\n if (blot.contextMenu) {\n blot.contextMenu.style.display = 'none'\n blot.currentElement = null\n }\n }\n\n blot.flowChart.on('blank:click', hideMenu)\n document.addEventListener('click', (e) => {\n if (blot.contextMenu && !blot.contextMenu.contains(e.target as Node)) {\n hideMenu()\n }\n })\n}\n\nfunction showNodeContextMenu(blot: FlowChartPlaceholderBlot, handler: FlowChartContextMenuHandler, x: number, y: number): void {\n clearContextMenu(blot)\n\n addContextMenuItem(blot, handler.getText('copy'), 'copy', () => handleCopy(blot))\n addContextMenuItem(blot, handler.getText('deleteContent'), 'deleteContent', () => handleDeleteContent(blot))\n addContextMenuItem(blot, handler.getText('deleteNode'), 'deleteNode', () => handleDeleteNode(blot))\n\n showContextMenu(blot, x, y)\n}\n\nfunction showEdgeContextMenu(blot: FlowChartPlaceholderBlot, handler: FlowChartContextMenuHandler, x: number, y: number): void {\n clearContextMenu(blot)\n\n addContextMenuItem(blot, handler.getText('deleteContent'), 'deleteContent', () => handleDeleteContent(blot))\n addContextMenuItem(blot, handler.getText('deleteEdge'), 'deleteEdge', () => handleDeleteEdge(blot))\n\n showContextMenu(blot, x, y)\n}\n\nfunction clearContextMenu(blot: FlowChartPlaceholderBlot): void {\n if (blot.contextMenu) {\n blot.contextMenu.innerHTML = ''\n }\n}\n\nfunction showContextMenu(blot: FlowChartPlaceholderBlot, x: number, y: number): void {\n if (blot.contextMenu) {\n blot.contextMenu.style.display = 'block'\n blot.contextMenu.style.left = `${x}px`\n blot.contextMenu.style.top = `${y}px`\n }\n}\n\nfunction addContextMenuItem(blot: FlowChartPlaceholderBlot, text: string, textKey: string, onClick: () => void): void {\n const item = document.createElement('div')\n item.className = 'ql-flow-chart-context-menu-item'\n item.textContent = text\n item.setAttribute('data-text-key', textKey)\n item.style.padding = '5px 15px'\n item.style.cursor = 'pointer'\n item.style.whiteSpace = 'nowrap'\n item.addEventListener('click', onClick)\n item.addEventListener('mouseenter', () => {\n item.style.background = '#f5f5f5'\n })\n item.addEventListener('mouseleave', () => {\n item.style.background = 'white'\n })\n blot.contextMenu!.appendChild(item)\n}\n\nfunction handleCopy(blot: FlowChartPlaceholderBlot): void {\n if (blot.currentElement && blot.currentElement.type === 'node') {\n const nodeId = blot.currentElement.data.id\n blot.flowChart.cloneNode(nodeId)\n }\n hideContextMenu(blot)\n}\n\nfunction handleDeleteContent(blot: FlowChartPlaceholderBlot): void {\n if (blot.currentElement) {\n if (blot.currentElement.type === 'node') {\n const node = blot.currentElement.data\n blot.flowChart.updateText(node.id, '')\n }\n else if (blot.currentElement.type === 'edge') {\n const edge = blot.currentElement.data\n blot.flowChart.updateText(edge.id, '')\n }\n blot.data = blot.flowChart.getGraphData()\n blot.domNode.setAttribute('data-flow-chart', JSON.stringify(blot.data))\n }\n hideContextMenu(blot)\n}\n\nfunction handleDeleteNode(blot: FlowChartPlaceholderBlot): void {\n if (blot.currentElement && blot.currentElement.type === 'node') {\n blot.flowChart.deleteNode(blot.currentElement.data.id)\n blot.data = blot.flowChart.getGraphData()\n blot.domNode.setAttribute('data-flow-chart', JSON.stringify(blot.data))\n }\n hideContextMenu(blot)\n}\n\nfunction handleDeleteEdge(blot: FlowChartPlaceholderBlot): void {\n if (blot.currentElement && blot.currentElement.type === 'edge') {\n blot.flowChart.deleteEdge(blot.currentElement.data.id)\n blot.data = blot.flowChart.getGraphData()\n blot.domNode.setAttribute('data-flow-chart', JSON.stringify(blot.data))\n }\n hideContextMenu(blot)\n}\n\nfunction hideContextMenu(blot: FlowChartPlaceholderBlot): void {\n if (blot.contextMenu) {\n blot.contextMenu.style.display = 'none'\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
+
import "../../../config/index.es.js";
|
|
5
|
+
import { I18N } from "../../i18n.es.js";
|
|
6
|
+
import { registerFlowChartI18N } from "../i18n/index.es.js";
|
|
7
|
+
import { lineIcon, contractIcon, screenTypeIcon, fitIcon, zoomInIcon, zoomOutIcon, forwardIcon, backIcon, polyLineIcon, bezierIcon, screenReduceIcon } from "../icons.es.js";
|
|
8
|
+
import { CHANGE_LANGUAGE_EVENT } from "../../../config/editor.config.es.js";
|
|
9
|
+
class FlowChartControlPanelHandler {
|
|
10
|
+
constructor(quill, blot) {
|
|
11
|
+
__publicField(this, "texts");
|
|
12
|
+
__publicField(this, "lang");
|
|
13
|
+
this.quill = quill;
|
|
14
|
+
this.blot = blot;
|
|
15
|
+
const i18nModule = this.quill.getModule("i18n");
|
|
16
|
+
registerFlowChartI18N(I18N);
|
|
17
|
+
this.lang = i18nModule.options.lang;
|
|
18
|
+
this.texts = this.resolveTexts();
|
|
19
|
+
this.quill.emitter.on(CHANGE_LANGUAGE_EVENT, (lang) => {
|
|
20
|
+
this.lang = lang;
|
|
21
|
+
this.texts = this.resolveTexts();
|
|
22
|
+
this.updateControlPanelTexts();
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
getText(key) {
|
|
26
|
+
return this.texts[key];
|
|
27
|
+
}
|
|
28
|
+
resolveTexts() {
|
|
29
|
+
return {
|
|
30
|
+
exportTitle: I18N.parserText("flowChart.controlPanel.exportTitle", this.lang),
|
|
31
|
+
zoomOutTitle: I18N.parserText("flowChart.controlPanel.zoomOutTitle", this.lang),
|
|
32
|
+
zoomInTitle: I18N.parserText("flowChart.controlPanel.zoomInTitle", this.lang),
|
|
33
|
+
fitTitle: I18N.parserText("flowChart.controlPanel.fitTitle", this.lang),
|
|
34
|
+
backTitle: I18N.parserText("flowChart.controlPanel.backTitle", this.lang),
|
|
35
|
+
forwardTitle: I18N.parserText("flowChart.controlPanel.forwardTitle", this.lang),
|
|
36
|
+
setEdgeTypeTitle: I18N.parserText("flowChart.controlPanel.setEdgeTypeTitle", this.lang),
|
|
37
|
+
panelStatusTitle: I18N.parserText("flowChart.controlPanel.panelStatusTitle", this.lang),
|
|
38
|
+
screenTypeTitle: I18N.parserText("flowChart.controlPanel.screenTypeTitle", this.lang)
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
updateControlPanelTexts() {
|
|
42
|
+
const controlItems = this.blot.domNode.querySelectorAll(".ql-flow-chart-control-item");
|
|
43
|
+
const controlItemMap = {
|
|
44
|
+
"zoom-out": "zoomOutTitle",
|
|
45
|
+
"zoom-in": "zoomInTitle",
|
|
46
|
+
"fit": "fitTitle",
|
|
47
|
+
"back": "backTitle",
|
|
48
|
+
"forward": "forwardTitle",
|
|
49
|
+
"set-edge-type": "setEdgeTypeTitle",
|
|
50
|
+
"panel-status": "panelStatusTitle",
|
|
51
|
+
"screen-type": "screenTypeTitle"
|
|
52
|
+
};
|
|
53
|
+
controlItems.forEach((item) => {
|
|
54
|
+
const controlType = item.dataset.controlType;
|
|
55
|
+
if (controlType && controlItemMap[controlType] && this.texts[controlItemMap[controlType]]) {
|
|
56
|
+
item.title = this.texts[controlItemMap[controlType]];
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const controlPanelHandlers = /* @__PURE__ */ new WeakMap();
|
|
62
|
+
const DISABLED_OPACITY = "0.5";
|
|
63
|
+
const ENABLED_OPACITY = "1";
|
|
64
|
+
function createControlPanel(blot, quill) {
|
|
65
|
+
const controlPanel = document.createElement("div");
|
|
66
|
+
controlPanel.className = "ql-flow-chart-control";
|
|
67
|
+
const controlRightUpPanel = document.createElement("div");
|
|
68
|
+
controlRightUpPanel.className = "ql-flow-chart-right-up-control";
|
|
69
|
+
const handler = new FlowChartControlPanelHandler(quill, blot);
|
|
70
|
+
controlPanelHandlers.set(blot, handler);
|
|
71
|
+
const zoomOutBtn = createControlItem("zoom-out", handler.getText("zoomOutTitle"), () => handleZoomOut(blot));
|
|
72
|
+
const zoomInBtn = createControlItem("zoom-in", handler.getText("zoomInTitle"), () => handleZoomIn(blot));
|
|
73
|
+
const resetBtn = createControlItem("fit", handler.getText("fitTitle"), () => handleResetZoom(blot));
|
|
74
|
+
const backBtn = createControlItem("back", handler.getText("backTitle"), () => handleUndo(blot));
|
|
75
|
+
const forwardBtn = createControlItem("forward", handler.getText("forwardTitle"), () => handleRedo(blot));
|
|
76
|
+
const setEdgeTypeBtn = createControlItem("set-edge-type", handler.getText("setEdgeTypeTitle"), () => handleSetEdgeType(blot));
|
|
77
|
+
const panelStatusBtn = createControlItem("panel-status", handler.getText("panelStatusTitle"));
|
|
78
|
+
const screenTypeBtn = createControlItem("screen-type", handler.getText("screenTypeTitle"), () => handleScreenTypeBtn(blot));
|
|
79
|
+
const updateButtonState = (historyData) => {
|
|
80
|
+
if (!historyData.data) {
|
|
81
|
+
backBtn.style.opacity = DISABLED_OPACITY;
|
|
82
|
+
backBtn.style.cursor = "not-allowed";
|
|
83
|
+
forwardBtn.style.opacity = DISABLED_OPACITY;
|
|
84
|
+
forwardBtn.style.cursor = "not-allowed";
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const isUndoAvailable = historyData.data.undoAble || historyData.data.undos.length < 0;
|
|
88
|
+
const isRedoAvailable = historyData.data.redoAble || historyData.data.redos.length > 0;
|
|
89
|
+
if (backBtn) {
|
|
90
|
+
backBtn.style.opacity = isUndoAvailable ? ENABLED_OPACITY : DISABLED_OPACITY;
|
|
91
|
+
backBtn.style.cursor = isUndoAvailable ? "pointer" : "not-allowed";
|
|
92
|
+
}
|
|
93
|
+
if (forwardBtn) {
|
|
94
|
+
forwardBtn.style.opacity = isRedoAvailable ? ENABLED_OPACITY : DISABLED_OPACITY;
|
|
95
|
+
forwardBtn.style.cursor = isRedoAvailable ? "pointer" : "not-allowed";
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
updateButtonState(blot.flowChart.history);
|
|
99
|
+
blot.flowChart.on("history:change", (data) => {
|
|
100
|
+
updateButtonState(data);
|
|
101
|
+
});
|
|
102
|
+
setTimeout(() => {
|
|
103
|
+
const controlLeftUpPanel = blot.domNode.querySelector(".lf-dndpanel");
|
|
104
|
+
controlLeftUpPanel.append(setEdgeTypeBtn);
|
|
105
|
+
}, 0);
|
|
106
|
+
controlRightUpPanel.append(panelStatusBtn);
|
|
107
|
+
blot.domNode.appendChild(controlRightUpPanel);
|
|
108
|
+
controlPanel.append(zoomOutBtn, zoomInBtn, resetBtn, screenTypeBtn, backBtn, forwardBtn);
|
|
109
|
+
blot.domNode.appendChild(controlPanel);
|
|
110
|
+
}
|
|
111
|
+
function handleUndo(blot) {
|
|
112
|
+
if (blot.flowChart) {
|
|
113
|
+
blot.flowChart.undo();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
function handleRedo(blot) {
|
|
117
|
+
if (blot.flowChart) {
|
|
118
|
+
blot.flowChart.redo();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function handleZoomIn(blot) {
|
|
122
|
+
if (blot.flowChart) {
|
|
123
|
+
blot.flowChart.zoom(true);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function handleZoomOut(blot) {
|
|
127
|
+
if (blot.flowChart) {
|
|
128
|
+
blot.flowChart.zoom(false);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function handleResetZoom(blot) {
|
|
132
|
+
if (blot.flowChart) {
|
|
133
|
+
blot.flowChart.resetZoom();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function createControlItem(iconClass, title, onClick, disabled = false) {
|
|
137
|
+
const controlItem = document.createElement("div");
|
|
138
|
+
controlItem.className = "ql-flow-chart-control-item";
|
|
139
|
+
controlItem.title = title;
|
|
140
|
+
controlItem.dataset.controlType = iconClass;
|
|
141
|
+
controlItem.style.cursor = disabled ? "not-allowed" : "pointer";
|
|
142
|
+
const iconMap = {
|
|
143
|
+
"back": backIcon,
|
|
144
|
+
"forward": forwardIcon,
|
|
145
|
+
"zoom-out": zoomOutIcon,
|
|
146
|
+
"zoom-in": zoomInIcon,
|
|
147
|
+
"fit": fitIcon,
|
|
148
|
+
"screen-type": screenTypeIcon,
|
|
149
|
+
"panel-status": contractIcon,
|
|
150
|
+
"set-edge-type": lineIcon
|
|
151
|
+
};
|
|
152
|
+
const icon = document.createElement("i");
|
|
153
|
+
icon.innerHTML = iconMap[iconClass] || "";
|
|
154
|
+
controlItem.appendChild(icon);
|
|
155
|
+
if (!disabled) {
|
|
156
|
+
controlItem.addEventListener("click", onClick);
|
|
157
|
+
}
|
|
158
|
+
return controlItem;
|
|
159
|
+
}
|
|
160
|
+
function handleSetEdgeType(blot) {
|
|
161
|
+
const controlLeftUpPanel = blot.domNode.querySelector(".lf-dndpanel");
|
|
162
|
+
if (!controlLeftUpPanel) return;
|
|
163
|
+
let edgeTypePanel = controlLeftUpPanel.querySelector(".ql-flow-chart-edge-panel");
|
|
164
|
+
if (!edgeTypePanel) {
|
|
165
|
+
edgeTypePanel = document.createElement("div");
|
|
166
|
+
edgeTypePanel.className = "ql-flow-chart-edge-panel";
|
|
167
|
+
edgeTypePanel.style.display = "flex";
|
|
168
|
+
edgeTypePanel.style.justifyContent = "space-around";
|
|
169
|
+
edgeTypePanel.style.flexWrap = "nowrap";
|
|
170
|
+
edgeTypePanel.style.width = "auto";
|
|
171
|
+
edgeTypePanel.style.minWidth = "100%";
|
|
172
|
+
edgeTypePanel.style.padding = "8px";
|
|
173
|
+
edgeTypePanel.style.boxSizing = "border-box";
|
|
174
|
+
edgeTypePanel.style.position = "absolute";
|
|
175
|
+
edgeTypePanel.style.top = "170px";
|
|
176
|
+
controlLeftUpPanel.appendChild(edgeTypePanel);
|
|
177
|
+
const edgeTypes = [
|
|
178
|
+
{
|
|
179
|
+
name: "line",
|
|
180
|
+
displayName: "直线",
|
|
181
|
+
icon: lineIcon
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
name: "polyline",
|
|
185
|
+
displayName: "折线",
|
|
186
|
+
icon: polyLineIcon
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
name: "bezier",
|
|
190
|
+
displayName: "贝塞尔曲线",
|
|
191
|
+
icon: bezierIcon
|
|
192
|
+
}
|
|
193
|
+
];
|
|
194
|
+
edgeTypes.forEach((edgeType) => {
|
|
195
|
+
const edgeItem = document.createElement("div");
|
|
196
|
+
edgeItem.className = "ql-flow-chart-edge-item";
|
|
197
|
+
edgeItem.style.padding = "8px";
|
|
198
|
+
edgeItem.style.cursor = "pointer";
|
|
199
|
+
edgeItem.style.textAlign = "center";
|
|
200
|
+
const edgeIcon = document.createElement("div");
|
|
201
|
+
edgeIcon.className = `ql-flow-chart-edge-type-icon`;
|
|
202
|
+
edgeIcon.style.width = "24px";
|
|
203
|
+
edgeIcon.style.height = "24px";
|
|
204
|
+
edgeIcon.style.margin = "0 auto";
|
|
205
|
+
if (edgeType.icon) {
|
|
206
|
+
edgeIcon.innerHTML = edgeType.icon;
|
|
207
|
+
}
|
|
208
|
+
edgeItem.appendChild(edgeIcon);
|
|
209
|
+
edgeItem.addEventListener("click", () => {
|
|
210
|
+
const { edges = [] } = blot.flowChart.getSelectElements();
|
|
211
|
+
if (edges.length > 0) {
|
|
212
|
+
edges.forEach((edge) => {
|
|
213
|
+
blot.flowChart.changeEdgeType(edge.id, edgeType.name);
|
|
214
|
+
});
|
|
215
|
+
blot.data = blot.flowChart.getGraphData();
|
|
216
|
+
blot.domNode.setAttribute("data-flow-chart", JSON.stringify(blot.data));
|
|
217
|
+
}
|
|
218
|
+
edgeTypePanel.style.display = "none";
|
|
219
|
+
});
|
|
220
|
+
edgeTypePanel.appendChild(edgeItem);
|
|
221
|
+
});
|
|
222
|
+
} else {
|
|
223
|
+
edgeTypePanel.style.display = "flex";
|
|
224
|
+
edgeTypePanel.style.justifyContent = "space-around";
|
|
225
|
+
edgeTypePanel.style.flexWrap = "nowrap";
|
|
226
|
+
}
|
|
227
|
+
const handleOutsideClick = (e) => {
|
|
228
|
+
let setEdgeTypeBtn = null;
|
|
229
|
+
const controlItems = controlLeftUpPanel.querySelectorAll(".ql-flow-chart-control-item");
|
|
230
|
+
controlItems.forEach((item) => {
|
|
231
|
+
const iconEl = item.querySelector("i");
|
|
232
|
+
if (iconEl && iconEl.className.includes("set-edge-type")) {
|
|
233
|
+
setEdgeTypeBtn = item;
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
if (!edgeTypePanel.contains(e.target) && (!setEdgeTypeBtn || !setEdgeTypeBtn.contains(e.target))) {
|
|
237
|
+
edgeTypePanel.style.display = "none";
|
|
238
|
+
document.removeEventListener("click", handleOutsideClick);
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
document.removeEventListener("click", handleOutsideClick);
|
|
242
|
+
setTimeout(() => {
|
|
243
|
+
document.addEventListener("click", handleOutsideClick);
|
|
244
|
+
}, 0);
|
|
245
|
+
}
|
|
246
|
+
function handleScreenTypeBtn(blot) {
|
|
247
|
+
const screenTypeBtn = blot.domNode.querySelector('[data-control-type="screen-type"]');
|
|
248
|
+
if (!screenTypeBtn || !blot.domNode) return;
|
|
249
|
+
const flowChartContainer = blot.domNode;
|
|
250
|
+
const isFullscreen = flowChartContainer.style.position === "fixed";
|
|
251
|
+
if (isFullscreen) {
|
|
252
|
+
const originalPosition = flowChartContainer.getAttribute("data-original-position");
|
|
253
|
+
const originalWidth = flowChartContainer.getAttribute("data-original-width");
|
|
254
|
+
const originalHeight = flowChartContainer.getAttribute("data-original-height");
|
|
255
|
+
if (originalWidth && originalHeight) {
|
|
256
|
+
flowChartContainer.style.position = originalPosition;
|
|
257
|
+
flowChartContainer.style.width = originalWidth;
|
|
258
|
+
flowChartContainer.style.height = originalHeight;
|
|
259
|
+
flowChartContainer.style.zIndex = "0";
|
|
260
|
+
}
|
|
261
|
+
const iconElement = screenTypeBtn.querySelector("i");
|
|
262
|
+
if (iconElement) {
|
|
263
|
+
iconElement.innerHTML = screenTypeIcon;
|
|
264
|
+
}
|
|
265
|
+
} else {
|
|
266
|
+
flowChartContainer.setAttribute("data-original-position", flowChartContainer.style.position || "");
|
|
267
|
+
flowChartContainer.setAttribute("data-original-width", flowChartContainer.style.width || "");
|
|
268
|
+
flowChartContainer.setAttribute("data-original-height", flowChartContainer.style.height || "");
|
|
269
|
+
flowChartContainer.style.position = "fixed";
|
|
270
|
+
flowChartContainer.style.top = "0";
|
|
271
|
+
flowChartContainer.style.left = "0";
|
|
272
|
+
flowChartContainer.style.width = "100vw";
|
|
273
|
+
flowChartContainer.style.height = "100vh";
|
|
274
|
+
flowChartContainer.style.zIndex = "100";
|
|
275
|
+
const iconElement = screenTypeBtn.querySelector("i");
|
|
276
|
+
if (iconElement) {
|
|
277
|
+
iconElement.innerHTML = screenReduceIcon;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
blot.flowChart.resize();
|
|
281
|
+
blot.flowChart.translateCenter();
|
|
282
|
+
}
|
|
283
|
+
export {
|
|
284
|
+
createControlPanel
|
|
285
|
+
};
|
|
286
|
+
//# sourceMappingURL=control-panel.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-panel.es.js","sources":["../../../../../src/modules/flow-chart/modules/control-panel.ts"],"sourcesContent":["import type FluentEditor from '../../../core/fluent-editor'\nimport type FlowChartPlaceholderBlot from '../formats/flow-chart-blot'\nimport { CHANGE_LANGUAGE_EVENT } from '../../../config'\nimport { I18N } from '../../../modules/i18n'\nimport { registerFlowChartI18N } from '../i18n'\nimport { backIcon, bezierIcon, contractIcon, fitIcon, forwardIcon, lineIcon, polyLineIcon, screenReduceIcon, screenTypeIcon, zoomInIcon, zoomOutIcon } from '../icons'\n\nclass FlowChartControlPanelHandler {\n private texts: Record<string, string>\n private lang: string\n getText(key: keyof Record<string, string>): string {\n return this.texts[key]\n }\n\n constructor(private quill: FluentEditor, private blot: FlowChartPlaceholderBlot) {\n const i18nModule = this.quill.getModule('i18n') as I18N\n registerFlowChartI18N(I18N)\n this.lang = i18nModule.options.lang\n this.texts = this.resolveTexts()\n this.quill.emitter.on(CHANGE_LANGUAGE_EVENT, (lang: string) => {\n this.lang = lang\n this.texts = this.resolveTexts()\n this.updateControlPanelTexts()\n })\n }\n\n resolveTexts() {\n return {\n exportTitle: I18N.parserText('flowChart.controlPanel.exportTitle', this.lang),\n zoomOutTitle: I18N.parserText('flowChart.controlPanel.zoomOutTitle', this.lang),\n zoomInTitle: I18N.parserText('flowChart.controlPanel.zoomInTitle', this.lang),\n fitTitle: I18N.parserText('flowChart.controlPanel.fitTitle', this.lang),\n backTitle: I18N.parserText('flowChart.controlPanel.backTitle', this.lang),\n forwardTitle: I18N.parserText('flowChart.controlPanel.forwardTitle', this.lang),\n setEdgeTypeTitle: I18N.parserText('flowChart.controlPanel.setEdgeTypeTitle', this.lang),\n panelStatusTitle: I18N.parserText('flowChart.controlPanel.panelStatusTitle', this.lang),\n screenTypeTitle: I18N.parserText('flowChart.controlPanel.screenTypeTitle', this.lang),\n }\n }\n\n updateControlPanelTexts() {\n const controlItems = this.blot.domNode.querySelectorAll('.ql-flow-chart-control-item')\n\n const controlItemMap: Record<string, string> = {\n 'zoom-out': 'zoomOutTitle',\n 'zoom-in': 'zoomInTitle',\n 'fit': 'fitTitle',\n 'back': 'backTitle',\n 'forward': 'forwardTitle',\n 'set-edge-type': 'setEdgeTypeTitle',\n 'panel-status': 'panelStatusTitle',\n 'screen-type': 'screenTypeTitle',\n }\n\n controlItems.forEach((item) => {\n const controlType = (item as HTMLElement).dataset.controlType\n if (controlType && controlItemMap[controlType] && this.texts[controlItemMap[controlType]]) {\n (item as HTMLElement).title = this.texts[controlItemMap[controlType]]\n }\n })\n }\n}\n\nconst controlPanelHandlers = new WeakMap<FlowChartPlaceholderBlot, FlowChartControlPanelHandler>()\n\nconst DISABLED_OPACITY = '0.5'\nconst ENABLED_OPACITY = '1'\nexport function createControlPanel(blot: FlowChartPlaceholderBlot, quill: FluentEditor): void {\n // 中间的控制面板\n const controlPanel = document.createElement('div')\n controlPanel.className = 'ql-flow-chart-control'\n // 右上的控制面板\n const controlRightUpPanel = document.createElement('div')\n controlRightUpPanel.className = 'ql-flow-chart-right-up-control'\n\n const handler = new FlowChartControlPanelHandler(quill, blot)\n controlPanelHandlers.set(blot, handler)\n const zoomOutBtn = createControlItem('zoom-out', handler.getText('zoomOutTitle'), () => handleZoomOut(blot))\n const zoomInBtn = createControlItem('zoom-in', handler.getText('zoomInTitle'), () => handleZoomIn(blot))\n const resetBtn = createControlItem('fit', handler.getText('fitTitle'), () => handleResetZoom(blot))\n const backBtn = createControlItem('back', handler.getText('backTitle'), () => handleUndo(blot))\n const forwardBtn = createControlItem('forward', handler.getText('forwardTitle'), () => handleRedo(blot))\n const setEdgeTypeBtn = createControlItem('set-edge-type', handler.getText('setEdgeTypeTitle'), () => handleSetEdgeType(blot))\n const panelStatusBtn = createControlItem('panel-status', handler.getText('panelStatusTitle'))\n const screenTypeBtn = createControlItem('screen-type', handler.getText('screenTypeTitle'), () => handleScreenTypeBtn(blot))\n\n const updateButtonState = (historyData: any) => {\n if (!historyData.data) {\n backBtn.style.opacity = DISABLED_OPACITY\n backBtn.style.cursor = 'not-allowed'\n forwardBtn.style.opacity = DISABLED_OPACITY\n forwardBtn.style.cursor = 'not-allowed'\n return\n }\n const isUndoAvailable = historyData.data.undoAble || historyData.data.undos.length < 0\n const isRedoAvailable = historyData.data.redoAble || historyData.data.redos.length > 0\n\n if (backBtn) {\n backBtn.style.opacity = isUndoAvailable ? ENABLED_OPACITY : DISABLED_OPACITY\n backBtn.style.cursor = isUndoAvailable ? 'pointer' : 'not-allowed'\n }\n\n if (forwardBtn) {\n forwardBtn.style.opacity = isRedoAvailable ? ENABLED_OPACITY : DISABLED_OPACITY\n forwardBtn.style.cursor = isRedoAvailable ? 'pointer' : 'not-allowed'\n }\n }\n updateButtonState(blot.flowChart.history)\n blot.flowChart.on('history:change', (data: any) => {\n updateButtonState(data)\n })\n\n setTimeout(() => {\n const controlLeftUpPanel = blot.domNode.querySelector('.lf-dndpanel') as HTMLElement | null\n controlLeftUpPanel.append(setEdgeTypeBtn)\n }, 0)\n controlRightUpPanel.append(panelStatusBtn)\n blot.domNode.appendChild(controlRightUpPanel)\n controlPanel.append(zoomOutBtn, zoomInBtn, resetBtn, screenTypeBtn, backBtn, forwardBtn)\n blot.domNode.appendChild(controlPanel)\n}\n\nfunction handleUndo(blot: FlowChartPlaceholderBlot): void {\n if (blot.flowChart) {\n blot.flowChart.undo()\n }\n}\n\nfunction handleRedo(blot: FlowChartPlaceholderBlot): void {\n if (blot.flowChart) {\n blot.flowChart.redo()\n }\n}\n\nfunction handleZoomIn(blot: FlowChartPlaceholderBlot): void {\n if (blot.flowChart) {\n blot.flowChart.zoom(true)\n }\n}\n\nfunction handleZoomOut(blot: FlowChartPlaceholderBlot): void {\n if (blot.flowChart) {\n blot.flowChart.zoom(false)\n }\n}\n\nfunction handleResetZoom(blot: FlowChartPlaceholderBlot): void {\n if (blot.flowChart) {\n blot.flowChart.resetZoom()\n }\n}\n\nfunction createControlItem(iconClass: string, title: string, onClick?: () => void, disabled = false) {\n const controlItem = document.createElement('div')\n controlItem.className = 'ql-flow-chart-control-item'\n controlItem.title = title\n controlItem.dataset.controlType = iconClass\n controlItem.style.cursor = disabled ? 'not-allowed' : 'pointer'\n\n const iconMap: Record<string, string> = {\n 'back': backIcon,\n 'forward': forwardIcon,\n 'zoom-out': zoomOutIcon,\n 'zoom-in': zoomInIcon,\n 'fit': fitIcon,\n 'screen-type': screenTypeIcon,\n 'panel-status': contractIcon,\n 'set-edge-type': lineIcon,\n }\n\n const icon = document.createElement('i')\n icon.innerHTML = iconMap[iconClass] || ''\n controlItem.appendChild(icon)\n\n if (!disabled) {\n controlItem.addEventListener('click', onClick)\n }\n\n return controlItem\n}\n\nfunction handleSetEdgeType(blot: FlowChartPlaceholderBlot): void {\n const controlLeftUpPanel = blot.domNode.querySelector('.lf-dndpanel') as HTMLElement | null\n if (!controlLeftUpPanel) return\n let edgeTypePanel = controlLeftUpPanel.querySelector('.ql-flow-chart-edge-panel') as HTMLElement\n if (!edgeTypePanel) {\n edgeTypePanel = document.createElement('div')\n edgeTypePanel.className = 'ql-flow-chart-edge-panel'\n edgeTypePanel.style.display = 'flex'\n edgeTypePanel.style.justifyContent = 'space-around'\n edgeTypePanel.style.flexWrap = 'nowrap'\n edgeTypePanel.style.width = 'auto'\n edgeTypePanel.style.minWidth = '100%'\n edgeTypePanel.style.padding = '8px'\n edgeTypePanel.style.boxSizing = 'border-box'\n edgeTypePanel.style.position = 'absolute'\n edgeTypePanel.style.top = '170px'\n controlLeftUpPanel.appendChild(edgeTypePanel)\n\n const edgeTypes = [\n {\n name: 'line',\n displayName: '直线',\n icon: lineIcon,\n },\n {\n name: 'polyline',\n displayName: '折线',\n icon: polyLineIcon,\n },\n {\n name: 'bezier',\n displayName: '贝塞尔曲线',\n icon: bezierIcon,\n },\n ]\n\n edgeTypes.forEach((edgeType) => {\n const edgeItem = document.createElement('div')\n edgeItem.className = 'ql-flow-chart-edge-item'\n edgeItem.style.padding = '8px'\n edgeItem.style.cursor = 'pointer'\n edgeItem.style.textAlign = 'center'\n\n const edgeIcon = document.createElement('div')\n edgeIcon.className = `ql-flow-chart-edge-type-icon`\n edgeIcon.style.width = '24px'\n edgeIcon.style.height = '24px'\n edgeIcon.style.margin = '0 auto'\n if (edgeType.icon) {\n edgeIcon.innerHTML = edgeType.icon\n }\n\n edgeItem.appendChild(edgeIcon)\n\n edgeItem.addEventListener('click', () => {\n const { edges = [] } = blot.flowChart.getSelectElements()\n if (edges.length > 0) {\n edges.forEach((edge) => {\n blot.flowChart.changeEdgeType(edge.id, edgeType.name)\n })\n blot.data = blot.flowChart.getGraphData()\n blot.domNode.setAttribute('data-flow-chart', JSON.stringify(blot.data))\n }\n\n edgeTypePanel.style.display = 'none'\n })\n edgeTypePanel.appendChild(edgeItem)\n })\n }\n else {\n edgeTypePanel.style.display = 'flex'\n edgeTypePanel.style.justifyContent = 'space-around'\n edgeTypePanel.style.flexWrap = 'nowrap'\n }\n\n const handleOutsideClick = (e: MouseEvent) => {\n let setEdgeTypeBtn: HTMLElement | null = null\n const controlItems = controlLeftUpPanel.querySelectorAll('.ql-flow-chart-control-item')\n controlItems.forEach((item) => {\n const iconEl = item.querySelector('i')\n if (iconEl && iconEl.className.includes('set-edge-type')) {\n setEdgeTypeBtn = item as HTMLElement\n }\n })\n if (!edgeTypePanel.contains(e.target as Node)\n && (!setEdgeTypeBtn || !setEdgeTypeBtn.contains(e.target as Node))) {\n edgeTypePanel.style.display = 'none'\n document.removeEventListener('click', handleOutsideClick)\n }\n }\n\n document.removeEventListener('click', handleOutsideClick)\n setTimeout(() => {\n document.addEventListener('click', handleOutsideClick)\n }, 0)\n}\n\nfunction handleScreenTypeBtn(blot: FlowChartPlaceholderBlot): void {\n const screenTypeBtn = blot.domNode.querySelector('[data-control-type=\"screen-type\"]') as HTMLElement | null\n if (!screenTypeBtn || !blot.domNode) return\n\n const flowChartContainer = blot.domNode\n const isFullscreen = flowChartContainer.style.position === 'fixed'\n\n if (isFullscreen) {\n const originalPosition = flowChartContainer.getAttribute('data-original-position')\n const originalWidth = flowChartContainer.getAttribute('data-original-width')\n const originalHeight = flowChartContainer.getAttribute('data-original-height')\n if (originalWidth && originalHeight) {\n flowChartContainer.style.position = originalPosition\n flowChartContainer.style.width = originalWidth\n flowChartContainer.style.height = originalHeight\n flowChartContainer.style.zIndex = '0'\n }\n const iconElement = screenTypeBtn.querySelector('i')\n if (iconElement) {\n iconElement.innerHTML = screenTypeIcon\n }\n }\n else {\n flowChartContainer.setAttribute('data-original-position', flowChartContainer.style.position || '')\n flowChartContainer.setAttribute('data-original-width', flowChartContainer.style.width || '')\n flowChartContainer.setAttribute('data-original-height', flowChartContainer.style.height || '')\n flowChartContainer.style.position = 'fixed'\n flowChartContainer.style.top = '0'\n flowChartContainer.style.left = '0'\n flowChartContainer.style.width = '100vw'\n flowChartContainer.style.height = '100vh'\n flowChartContainer.style.zIndex = '100'\n const iconElement = screenTypeBtn.querySelector('i')\n if (iconElement) {\n iconElement.innerHTML = screenReduceIcon\n }\n }\n blot.flowChart.resize()\n blot.flowChart.translateCenter()\n}\n"],"names":[],"mappings":"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"}
|