@opentiny/fluent-editor 4.0.0-alpha.15 → 4.0.0-alpha.16
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/README.md +88 -88
- package/es/attributors/line-height.es.js.map +1 -1
- package/es/config/base64-image.es.js.map +1 -1
- package/es/config/editor.config.es.js.map +1 -1
- package/es/config/editor.utils.es.js.map +1 -1
- package/es/config/i18n/en-us.es.js.map +1 -1
- package/es/config/i18n/zh-cn.es.js.map +1 -1
- package/es/config/index.es.js.map +1 -1
- package/es/core/fluent-editor.es.js.map +1 -1
- package/es/fluent-editor.es.js.map +1 -1
- package/es/formats/emoji.es.js.map +1 -1
- package/es/formats/soft-break.es.js.map +1 -1
- package/es/formats/strike.es.js.map +1 -1
- package/es/formats/video.es.js.map +1 -1
- package/es/modules/ai/constants.es.js.map +1 -1
- package/es/modules/ai/icons.es.js.map +1 -1
- package/es/modules/ai/index.es.js.map +1 -1
- package/es/modules/collaborative-editing/awareness/awareness.es.js.map +1 -1
- package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +1 -1
- package/es/modules/collaborative-editing/collaborative-editing.es.js.map +1 -1
- package/es/modules/collaborative-editing/module.es.js.map +1 -1
- package/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +1 -1
- package/es/modules/collaborative-editing/provider/webrtc.es.js.map +1 -1
- package/es/modules/collaborative-editing/provider/websocket.es.js.map +1 -1
- package/es/modules/counter.es.js.map +1 -1
- package/es/modules/custom-clipboard.es.js.map +1 -1
- package/es/modules/custom-image/actions/action.es.js.map +1 -1
- package/es/modules/custom-image/actions/custom-resize-action.es.js.map +1 -1
- package/es/modules/custom-image/actions/delete-action.es.js.map +1 -1
- package/es/modules/custom-image/blot-formatter.es.js.map +1 -1
- package/es/modules/custom-image/image.es.js.map +1 -1
- package/es/modules/custom-image/options.es.js.map +1 -1
- package/es/modules/custom-image/specs/blot-spec.es.js.map +1 -1
- package/es/modules/custom-image/specs/custom-image-spec.es.js.map +1 -1
- package/es/modules/custom-image/specs/image-spec.es.js.map +1 -1
- package/es/modules/divider.es.js.map +1 -1
- package/es/modules/emoji.es.js.map +1 -1
- package/es/modules/file/formats/file.es.js.map +1 -1
- package/es/modules/file/modules/file-bar.es.js.map +1 -1
- package/es/modules/file/modules/file-module.es.js.map +1 -1
- package/es/modules/flow-chart/config-utils.es.js.map +1 -1
- package/es/modules/flow-chart/formats/flow-chart-blot.es.js.map +1 -1
- package/es/modules/flow-chart/i18n/en-us.es.js.map +1 -1
- package/es/modules/flow-chart/i18n/index.es.js.map +1 -1
- package/es/modules/flow-chart/i18n/zh-cn.es.js.map +1 -1
- package/es/modules/flow-chart/icons.es.js.map +1 -1
- package/es/modules/flow-chart/index.es.js.map +1 -1
- package/es/modules/flow-chart/modules/context-menu.es.js.map +1 -1
- package/es/modules/flow-chart/modules/control-panel.es.js.map +1 -1
- package/es/modules/flow-chart/modules/custom-resize-action.es.js.map +1 -1
- package/es/modules/link/formats/link.es.js.map +1 -1
- package/es/modules/link/modules/tooltip.es.js.map +1 -1
- package/es/modules/mathlive/formats.es.js.map +1 -1
- package/es/modules/mathlive/tooltip.es.js.map +1 -1
- package/es/modules/mention/constants.es.js.map +1 -1
- package/es/modules/mention/mention-link.es.js.map +1 -1
- package/es/modules/mention/mention.es.js.map +1 -1
- package/es/modules/mind-map/config-utils.es.js.map +1 -1
- package/es/modules/mind-map/formats/mind-map-blot.es.js.map +1 -1
- package/es/modules/mind-map/i18n/en-us.es.js.map +1 -1
- package/es/modules/mind-map/i18n/index.es.js.map +1 -1
- package/es/modules/mind-map/i18n/zh-cn.es.js.map +1 -1
- package/es/modules/mind-map/icons.es.js.map +1 -1
- package/es/modules/mind-map/index.es.js.map +1 -1
- package/es/modules/mind-map/modules/context-menu.es.js.map +1 -1
- package/es/modules/mind-map/modules/control-panel.es.js.map +1 -1
- package/es/modules/mind-map/modules/custom-resize-action.es.js.map +1 -1
- package/es/modules/syntax.es.js.map +1 -1
- package/es/modules/toolbar/better-picker.es.js.map +1 -1
- package/es/themes/snow.es.js.map +1 -1
- package/es/tools/screenshot.es.js.map +1 -1
- package/es/ui/icons.config.es.js.map +1 -1
- package/es/ui/icons.es.js.map +1 -1
- package/es/utils/debounce.es.js.map +1 -1
- package/es/utils/merge.es.js.map +1 -1
- package/es/utils/method.es.js.map +1 -1
- package/lib/attributors/line-height.cjs.js.map +1 -1
- package/lib/config/base64-image.cjs.js.map +1 -1
- package/lib/config/editor.config.cjs.js.map +1 -1
- package/lib/config/editor.utils.cjs.js.map +1 -1
- package/lib/config/i18n/en-us.cjs.js.map +1 -1
- package/lib/config/i18n/zh-cn.cjs.js.map +1 -1
- package/lib/config/index.cjs.js.map +1 -1
- package/lib/core/fluent-editor.cjs.js.map +1 -1
- package/lib/fluent-editor.cjs.js.map +1 -1
- package/lib/formats/emoji.cjs.js.map +1 -1
- package/lib/formats/soft-break.cjs.js.map +1 -1
- package/lib/formats/strike.cjs.js.map +1 -1
- package/lib/formats/video.cjs.js.map +1 -1
- package/lib/modules/ai/constants.cjs.js.map +1 -1
- package/lib/modules/ai/icons.cjs.js.map +1 -1
- package/lib/modules/ai/index.cjs.js.map +1 -1
- package/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +1 -1
- package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +1 -1
- package/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +1 -1
- package/lib/modules/collaborative-editing/module.cjs.js.map +1 -1
- package/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +1 -1
- package/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +1 -1
- package/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +1 -1
- package/lib/modules/counter.cjs.js.map +1 -1
- package/lib/modules/custom-clipboard.cjs.js.map +1 -1
- package/lib/modules/custom-image/actions/action.cjs.js.map +1 -1
- package/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +1 -1
- package/lib/modules/custom-image/actions/delete-action.cjs.js.map +1 -1
- package/lib/modules/custom-image/blot-formatter.cjs.js.map +1 -1
- package/lib/modules/custom-image/image.cjs.js.map +1 -1
- package/lib/modules/custom-image/options.cjs.js.map +1 -1
- package/lib/modules/custom-image/specs/blot-spec.cjs.js.map +1 -1
- package/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +1 -1
- package/lib/modules/custom-image/specs/image-spec.cjs.js.map +1 -1
- package/lib/modules/divider.cjs.js.map +1 -1
- package/lib/modules/emoji.cjs.js.map +1 -1
- package/lib/modules/file/formats/file.cjs.js.map +1 -1
- package/lib/modules/file/modules/file-bar.cjs.js.map +1 -1
- package/lib/modules/file/modules/file-module.cjs.js.map +1 -1
- package/lib/modules/flow-chart/config-utils.cjs.js.map +1 -1
- package/lib/modules/flow-chart/formats/flow-chart-blot.cjs.js.map +1 -1
- package/lib/modules/flow-chart/i18n/en-us.cjs.js.map +1 -1
- package/lib/modules/flow-chart/i18n/index.cjs.js.map +1 -1
- package/lib/modules/flow-chart/i18n/zh-cn.cjs.js.map +1 -1
- package/lib/modules/flow-chart/icons.cjs.js.map +1 -1
- package/lib/modules/flow-chart/index.cjs.js.map +1 -1
- package/lib/modules/flow-chart/modules/context-menu.cjs.js.map +1 -1
- package/lib/modules/flow-chart/modules/control-panel.cjs.js.map +1 -1
- package/lib/modules/flow-chart/modules/custom-resize-action.cjs.js.map +1 -1
- package/lib/modules/link/formats/link.cjs.js.map +1 -1
- package/lib/modules/link/modules/tooltip.cjs.js.map +1 -1
- package/lib/modules/mathlive/formats.cjs.js.map +1 -1
- package/lib/modules/mathlive/tooltip.cjs.js.map +1 -1
- package/lib/modules/mention/constants.cjs.js.map +1 -1
- package/lib/modules/mention/mention-link.cjs.js.map +1 -1
- package/lib/modules/mention/mention.cjs.js.map +1 -1
- package/lib/modules/mind-map/config-utils.cjs.js.map +1 -1
- package/lib/modules/mind-map/formats/mind-map-blot.cjs.js.map +1 -1
- package/lib/modules/mind-map/i18n/en-us.cjs.js.map +1 -1
- package/lib/modules/mind-map/i18n/index.cjs.js.map +1 -1
- package/lib/modules/mind-map/i18n/zh-cn.cjs.js.map +1 -1
- package/lib/modules/mind-map/icons.cjs.js.map +1 -1
- package/lib/modules/mind-map/index.cjs.js.map +1 -1
- package/lib/modules/mind-map/modules/context-menu.cjs.js.map +1 -1
- package/lib/modules/mind-map/modules/control-panel.cjs.js.map +1 -1
- package/lib/modules/mind-map/modules/custom-resize-action.cjs.js.map +1 -1
- package/lib/modules/syntax.cjs.js.map +1 -1
- package/lib/modules/toolbar/better-picker.cjs.js.map +1 -1
- package/lib/themes/snow.cjs.js.map +1 -1
- package/lib/tools/screenshot.cjs.js.map +1 -1
- package/lib/ui/icons.cjs.js.map +1 -1
- package/lib/ui/icons.config.cjs.js.map +1 -1
- package/lib/utils/debounce.cjs.js.map +1 -1
- package/lib/utils/merge.cjs.js.map +1 -1
- package/lib/utils/method.cjs.js.map +1 -1
- package/package.json +1 -1
- package/patches/quill@2.0.3.patch +33 -33
- package/scripts/apply-patches.cjs +248 -248
- package/types/attributors/font-size.d.ts +1 -1
- package/types/attributors/font-style.d.ts +1 -1
- package/types/attributors/index.d.ts +4 -4
- package/types/attributors/line-height.d.ts +1 -1
- package/types/attributors/text-indent.d.ts +1 -1
- package/types/config/base64-image.d.ts +2 -2
- package/types/config/editor.config.d.ts +55 -55
- package/types/config/editor.utils.d.ts +40 -40
- package/types/config/i18n/en-us.d.ts +125 -125
- package/types/config/i18n/zh-cn.d.ts +125 -125
- package/types/config/index.d.ts +7 -7
- package/types/config/types/editor-config.interface.d.ts +11 -12
- package/types/config/types/editor-modules.interface.d.ts +38 -39
- package/types/config/types/index.d.ts +3 -3
- package/types/config/types/type.d.ts +2 -2
- package/types/core/fluent-editor.d.ts +10 -11
- package/types/fluent-editor.d.ts +1 -2
- package/types/formats/emoji.d.ts +7 -8
- package/types/formats/index.d.ts +4 -4
- package/types/formats/soft-break.d.ts +11 -12
- package/types/formats/strike.d.ts +7 -8
- package/types/formats/video.d.ts +12 -13
- package/types/index.d.ts +7 -8
- package/types/modules/ai/constants.d.ts +30 -30
- package/types/modules/ai/icons.d.ts +21 -21
- package/types/modules/ai/index.d.ts +93 -94
- package/types/modules/ai/types.d.ts +16 -16
- package/types/modules/collaborative-editing/awareness/awareness.d.ts +25 -26
- package/types/modules/collaborative-editing/awareness/index.d.ts +2 -2
- package/types/modules/collaborative-editing/awareness/y-indexeddb.d.ts +2 -3
- package/types/modules/collaborative-editing/collaborative-editing.d.ts +20 -21
- package/types/modules/collaborative-editing/index.d.ts +2 -2
- package/types/modules/collaborative-editing/module.d.ts +10 -11
- package/types/modules/collaborative-editing/provider/index.d.ts +3 -3
- package/types/modules/collaborative-editing/provider/providerRegistry.d.ts +24 -25
- package/types/modules/collaborative-editing/provider/webrtc.d.ts +33 -34
- package/types/modules/collaborative-editing/provider/websocket.d.ts +37 -38
- package/types/modules/collaborative-editing/types.d.ts +45 -46
- package/types/modules/counter.d.ts +21 -22
- package/types/modules/custom-clipboard.d.ts +23 -24
- package/types/modules/custom-image/actions/{Action.d.ts → action.d.ts} +7 -8
- package/types/modules/custom-image/actions/custom-resize-action.d.ts +22 -23
- package/types/modules/custom-image/actions/delete-action.d.ts +5 -6
- package/types/modules/custom-image/actions/image-toolbar-buttons.d.ts +15 -16
- package/types/modules/custom-image/actions/index.d.ts +6 -6
- package/types/modules/custom-image/actions/toolbar-action.d.ts +7 -8
- package/types/modules/custom-image/actions/toolbar.d.ts +16 -17
- package/types/modules/custom-image/blot-formatter.d.ts +19 -20
- package/types/modules/custom-image/image.d.ts +26 -27
- package/types/modules/custom-image/index.d.ts +4 -4
- package/types/modules/custom-image/{Options.d.ts → options.d.ts} +45 -46
- package/types/modules/custom-image/specs/blot-spec.d.ts +10 -11
- package/types/modules/custom-image/specs/custom-image-spec.d.ts +15 -16
- package/types/modules/custom-image/specs/image-spec.d.ts +7 -8
- package/types/modules/custom-image/specs/index.d.ts +3 -3
- package/types/modules/custom-uploader.d.ts +37 -38
- package/types/modules/divider.d.ts +7 -8
- package/types/modules/emoji.d.ts +35 -36
- package/types/modules/file/formats/file.d.ts +17 -18
- package/types/modules/file/index.d.ts +3 -3
- package/types/modules/file/modules/file-bar.d.ts +14 -14
- package/types/modules/file/modules/file-module.d.ts +7 -8
- package/types/modules/flow-chart/config-utils.d.ts +9 -10
- package/types/modules/flow-chart/formats/flow-chart-blot.d.ts +40 -41
- package/types/modules/flow-chart/i18n/en-us.d.ts +26 -26
- package/types/modules/flow-chart/i18n/index.d.ts +1 -1
- package/types/modules/flow-chart/i18n/zh-cn.d.ts +26 -26
- package/types/modules/flow-chart/icons.d.ts +12 -12
- package/types/modules/flow-chart/index.d.ts +8 -9
- package/types/modules/flow-chart/modules/context-menu.d.ts +1 -2
- package/types/modules/flow-chart/modules/control-panel.d.ts +1 -2
- package/types/modules/flow-chart/modules/custom-resize-action.d.ts +22 -22
- package/types/modules/flow-chart/options.d.ts +29 -29
- package/types/modules/i18n.d.ts +13 -14
- package/types/modules/index.d.ts +18 -18
- package/types/modules/link/formats/link.d.ts +14 -15
- package/types/modules/link/index.d.ts +2 -2
- package/types/modules/link/modules/tooltip.d.ts +25 -26
- package/types/modules/mathlive/formats.d.ts +20 -21
- package/types/modules/mathlive/index.d.ts +3 -3
- package/types/modules/mathlive/module.d.ts +7 -8
- package/types/modules/mathlive/tooltip.d.ts +14 -15
- package/types/modules/mention/constants.d.ts +3 -3
- package/types/modules/mention/index.d.ts +2 -2
- package/types/modules/mention/mention-link.d.ts +14 -15
- package/types/modules/mention/{Mention.d.ts → mention.d.ts} +52 -53
- package/types/modules/mind-map/config-utils.d.ts +11 -12
- package/types/modules/mind-map/formats/mind-map-blot.d.ts +41 -42
- package/types/modules/mind-map/i18n/en-us.d.ts +25 -25
- package/types/modules/mind-map/i18n/index.d.ts +1 -1
- package/types/modules/mind-map/i18n/zh-cn.d.ts +25 -25
- package/types/modules/mind-map/icons.d.ts +21 -21
- package/types/modules/mind-map/index.d.ts +8 -9
- package/types/modules/mind-map/modules/context-menu.d.ts +1 -2
- package/types/modules/mind-map/modules/control-panel.d.ts +1 -2
- package/types/modules/mind-map/modules/custom-resize-action.d.ts +23 -23
- package/types/modules/mind-map/options.d.ts +27 -27
- package/types/modules/shortcut-key/index.d.ts +67 -68
- package/types/modules/syntax.d.ts +12 -13
- package/types/modules/table-up/index.d.ts +32 -33
- package/types/modules/toolbar/better-picker.d.ts +13 -14
- package/types/modules/toolbar/better-toolbar.d.ts +6 -7
- package/types/modules/toolbar/index.d.ts +3 -3
- package/types/modules/toolbar/toolbar-tip.d.ts +7 -8
- package/types/themes/snow.d.ts +9 -10
- package/types/tools/format-painter.d.ts +12 -13
- package/types/tools/fullscreen.d.ts +4 -5
- package/types/tools/screenshot.d.ts +17 -18
- package/types/ui/icons.config.d.ts +40 -40
- package/types/ui/icons.d.ts +6 -6
- package/types/utils/debounce.d.ts +6 -6
- package/types/utils/image.d.ts +1 -1
- package/types/utils/is.d.ts +6 -6
- package/types/utils/merge.d.ts +7 -7
- package/types/utils/method.d.ts +6 -6
- package/types/utils/scroll-lock.d.ts +6 -6
- package/types/config/types/additional-toolbar-item.interface.d.ts +0 -8
- package/types/config/types/content-change.interface.d.ts +0 -13
- package/types/config/types/content-save.interface.d.ts +0 -6
- package/types/config/types/counter-option.interface.d.ts +0 -9
- package/types/config/types/editor-toolbar.interface.d.ts +0 -6
- package/types/config/types/file-operation.interface.d.ts +0 -12
- package/types/config/types/focus-change.interface.d.ts +0 -4
- package/types/config/types/fullscreen-module.interface.d.ts +0 -4
- package/types/config/types/help-panel-item.interface.d.ts +0 -5
- package/types/config/types/help-panel-option.interface.d.ts +0 -7
- package/types/config/types/image-module.interface.d.ts +0 -3
- package/types/config/types/image-upload.interface.d.ts +0 -7
- package/types/config/types/load-on-demand-module.interface.d.ts +0 -5
- package/types/config/types/mention-module.interface.d.ts +0 -8
- package/types/config/types/paste-change.interface.d.ts +0 -6
- package/types/config/types/quick-menu-module.interface.d.ts +0 -3
- package/types/config/types/range.interface.d.ts +0 -4
- package/types/config/types/registry-options.interface.d.ts +0 -5
- package/types/config/types/selection-change.interface.d.ts +0 -8
- package/types/config/types/toolbar-item.interface.d.ts +0 -13
- package/types/config/types/validate-error.interface.d.ts +0 -13
- package/types/modules/custom-image/BlotFormatter.d.ts +0 -29
- package/types/modules/custom-image/actions/CustomResizeAction.d.ts +0 -24
- package/types/modules/custom-image/actions/DeleteAction.d.ts +0 -7
- package/types/modules/custom-image/image-bar.d.ts +0 -15
- package/types/modules/custom-image/specs/BlotSpec.d.ts +0 -13
- package/types/modules/custom-image/specs/CustomImageSpec.d.ts +0 -21
- package/types/modules/custom-image/specs/ImageSpec.d.ts +0 -10
- package/types/modules/emoji/emoji-list/index.d.ts +0 -1
- package/types/modules/emoji/emoji-list/people.d.ts +0 -1
- package/types/modules/emoji/emoji-list.d.ts +0 -2
- package/types/modules/emoji/emoji-map.d.ts +0 -2
- package/types/modules/emoji/emoji-sprite.d.ts +0 -1
- package/types/modules/emoji/formats/emoji-blot.d.ts +0 -13
- package/types/modules/emoji/index.d.ts +0 -10
- package/types/modules/emoji/modules/emoji.d.ts +0 -38
- package/types/modules/emoji/modules/toolbar-emoji.d.ts +0 -8
- package/types/modules/emoji/utils.d.ts +0 -1
- package/types/modules/global-link/constants.d.ts +0 -3
- package/types/modules/global-link/formats/customer-widget-link.d.ts +0 -14
- package/types/modules/global-link/formats/doc-link.d.ts +0 -17
- package/types/modules/global-link/formats/wiki-link.d.ts +0 -16
- package/types/modules/global-link/formats/work-item-link.d.ts +0 -16
- package/types/modules/global-link/global-link-panel.d.ts +0 -19
- package/types/modules/global-link/index.d.ts +0 -18
- package/types/modules/global-link/utils/createTable.d.ts +0 -1
- package/types/modules/mention/MentionLink.d.ts +0 -16
- package/types/modules/quick-menu.d.ts +0 -22
- package/types/modules/table/better-table.d.ts +0 -35
- package/types/modules/table/formats/header.d.ts +0 -23
- package/types/modules/table/formats/list.d.ts +0 -34
- package/types/modules/table/formats/table.d.ts +0 -147
- package/types/modules/table/modules/table-column-tool.d.ts +0 -23
- package/types/modules/table/modules/table-operation-menu.d.ts +0 -38
- package/types/modules/table/modules/table-scroll-bar.d.ts +0 -33
- package/types/modules/table/modules/table-selection.d.ts +0 -37
- package/types/modules/table/modules/table-selector.d.ts +0 -22
- package/types/modules/table/table-config.d.ts +0 -38
- package/types/modules/table/utils/index.d.ts +0 -17
- package/types/modules/table/utils/node-matchers.d.ts +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-utils.es.js","sources":["../../../../src/modules/mind-map/config-utils.ts"],"sourcesContent":["import type Quill from 'quill'\
|
|
1
|
+
{"version":3,"file":"config-utils.es.js","sources":["../../../../src/modules/mind-map/config-utils.ts"],"sourcesContent":["import type Quill from 'quill'\nimport type { BackgroundConfig, LineConfig } from './options'\n\nexport function getBackgroundConfig(quill: Quill | null): false | object {\n const MindMapModule = quill?.options.modules?.['mind-map']\n if (!MindMapModule || typeof MindMapModule !== 'object') {\n return false\n }\n if ('background' in MindMapModule) {\n const background = MindMapModule.background as BackgroundConfig | boolean | undefined\n\n if (background === false || background === undefined) {\n return false\n }\n if (typeof background === 'object' && background !== null) {\n const typedBackground = background as BackgroundConfig\n const backgroundConfig: any = {}\n\n if (typedBackground.color) {\n backgroundConfig.backgroundColor = typedBackground.color\n }\n if (typedBackground.image) {\n backgroundConfig.backgroundImage = typedBackground.image\n }\n if (typedBackground.repeat) {\n backgroundConfig.backgroundRepeat = typedBackground.repeat\n }\n if (typedBackground.position) {\n backgroundConfig.backgroundPosition = typedBackground.position\n }\n if (typedBackground.size) {\n backgroundConfig.backgroundSize = typedBackground.size\n }\n return backgroundConfig\n }\n }\n return false\n}\n\nexport function getLineConfig(quill: Quill | null): false | object {\n const MindMapModule = quill?.options.modules?.['mind-map']\n if (!MindMapModule || typeof MindMapModule !== 'object') {\n return false\n }\n if ('line' in MindMapModule) {\n const line = MindMapModule.line as LineConfig | boolean | undefined\n\n if (line === false || line === undefined) {\n return false\n }\n if (typeof line === 'object' && line !== null) {\n const typedLine = line as LineConfig\n const lineConfig: any = {}\n\n if (typedLine.color) {\n lineConfig.lineColor = typedLine.color\n }\n if (typedLine.width) {\n lineConfig.lineWidth = typedLine.width\n }\n if (typedLine.dasharray) {\n lineConfig.lineDasharray = typedLine.dasharray\n }\n if (typedLine.style) {\n lineConfig.lineStyle = typedLine.style\n }\n return lineConfig\n }\n }\n return false\n}\n\nexport function getResizeConfig(quill: Quill | null): boolean {\n const MindMapModule = quill?.options.modules?.['mind-map']\n if (!MindMapModule || typeof MindMapModule !== 'object') {\n return false\n }\n if ('resize' in MindMapModule) {\n const resize = (MindMapModule as any).resize as boolean | undefined\n return resize === true\n }\n return false\n}\n\nexport function getThemeConfig(quill: Quill | null): string {\n const MindMapModule = quill?.options.modules?.['mind-map']\n if (!MindMapModule || typeof MindMapModule !== 'object') {\n return 'default'\n }\n if ('theme' in MindMapModule) {\n const theme = MindMapModule.theme as string | undefined\n return theme || 'default'\n }\n return 'default'\n}\n\nexport function getAllConfigs(quill: Quill | null): {\n backgroundConfig: false | object\n resizeConfig: boolean\n lineConfig: false | object\n themeConfig: string\n deps?: any\n} {\n const deps = (quill?.options.modules?.['mind-map'] as any)?.deps\n return {\n backgroundConfig: getBackgroundConfig(quill),\n resizeConfig: getResizeConfig(quill),\n lineConfig: getLineConfig(quill),\n themeConfig: getThemeConfig(quill),\n deps,\n }\n}\n"],"names":[],"mappings":"AAGO,SAAS,oBAAoB,OAAqC;AAAlE;AACL,QAAM,iBAAgB,oCAAO,QAAQ,YAAf,mBAAyB;AAC/C,MAAI,CAAC,iBAAiB,OAAO,kBAAkB,UAAU;AACvD,WAAO;AAAA,EACT;AACA,MAAI,gBAAgB,eAAe;AACjC,UAAM,aAAa,cAAc;AAEjC,QAAI,eAAe,SAAS,eAAe,QAAW;AACpD,aAAO;AAAA,IACT;AACA,QAAI,OAAO,eAAe,YAAY,eAAe,MAAM;AACzD,YAAM,kBAAkB;AACxB,YAAM,mBAAwB,CAAA;AAE9B,UAAI,gBAAgB,OAAO;AACzB,yBAAiB,kBAAkB,gBAAgB;AAAA,MACrD;AACA,UAAI,gBAAgB,OAAO;AACzB,yBAAiB,kBAAkB,gBAAgB;AAAA,MACrD;AACA,UAAI,gBAAgB,QAAQ;AAC1B,yBAAiB,mBAAmB,gBAAgB;AAAA,MACtD;AACA,UAAI,gBAAgB,UAAU;AAC5B,yBAAiB,qBAAqB,gBAAgB;AAAA,MACxD;AACA,UAAI,gBAAgB,MAAM;AACxB,yBAAiB,iBAAiB,gBAAgB;AAAA,MACpD;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,cAAc,OAAqC;AApC5D;AAqCL,QAAM,iBAAgB,oCAAO,QAAQ,YAAf,mBAAyB;AAC/C,MAAI,CAAC,iBAAiB,OAAO,kBAAkB,UAAU;AACvD,WAAO;AAAA,EACT;AACA,MAAI,UAAU,eAAe;AAC3B,UAAM,OAAO,cAAc;AAE3B,QAAI,SAAS,SAAS,SAAS,QAAW;AACxC,aAAO;AAAA,IACT;AACA,QAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC7C,YAAM,YAAY;AAClB,YAAM,aAAkB,CAAA;AAExB,UAAI,UAAU,OAAO;AACnB,mBAAW,YAAY,UAAU;AAAA,MACnC;AACA,UAAI,UAAU,OAAO;AACnB,mBAAW,YAAY,UAAU;AAAA,MACnC;AACA,UAAI,UAAU,WAAW;AACvB,mBAAW,gBAAgB,UAAU;AAAA,MACvC;AACA,UAAI,UAAU,OAAO;AACnB,mBAAW,YAAY,UAAU;AAAA,MACnC;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,gBAAgB,OAA8B;AArEvD;AAsEL,QAAM,iBAAgB,oCAAO,QAAQ,YAAf,mBAAyB;AAC/C,MAAI,CAAC,iBAAiB,OAAO,kBAAkB,UAAU;AACvD,WAAO;AAAA,EACT;AACA,MAAI,YAAY,eAAe;AAC7B,UAAM,SAAU,cAAsB;AACtC,WAAO,WAAW;AAAA,EACpB;AACA,SAAO;AACT;AAEO,SAAS,eAAe,OAA6B;AAjFrD;AAkFL,QAAM,iBAAgB,oCAAO,QAAQ,YAAf,mBAAyB;AAC/C,MAAI,CAAC,iBAAiB,OAAO,kBAAkB,UAAU;AACvD,WAAO;AAAA,EACT;AACA,MAAI,WAAW,eAAe;AAC5B,UAAM,QAAQ,cAAc;AAC5B,WAAO,SAAS;AAAA,EAClB;AACA,SAAO;AACT;AAEO,SAAS,cAAc,OAM5B;AAnGK;AAoGL,QAAM,QAAQ,0CAAO,QAAQ,YAAf,mBAAyB,gBAAzB,mBAA8C;AAC5D,SAAO;AAAA,IACL,kBAAkB,oBAAoB,KAAK;AAAA,IAC3C,cAAc,gBAAgB,KAAK;AAAA,IACnC,YAAY,cAAc,KAAK;AAAA,IAC/B,aAAa,eAAe,KAAK;AAAA,IACjC;AAAA,EAAA;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mind-map-blot.es.js","sources":["../../../../../src/modules/mind-map/formats/mind-map-blot.ts"],"sourcesContent":["import type { Root } from 'parchment'\r\nimport type { BlockEmbed as TypeBlockEmbed } from 'quill/blots/block'\r\nimport type FluentEditor from '../../../core/fluent-editor'\r\nimport Quill from 'quill'\r\nimport { getAllConfigs } from '../config-utils'\r\nimport { contractIcon, expandIcon } from '../icons'\r\nimport { initContextMenu } from '../modules/context-menu'\r\nimport { createControlPanel } from '../modules/control-panel'\r\nimport { MindMapResizeAction } from '../modules/custom-resize-action'\r\nimport '../style/mind-map.scss'\r\n\r\nconst BlockEmbed = Quill.import('blots/embed') as typeof TypeBlockEmbed\r\n\r\nclass MindMapPlaceholderBlot extends BlockEmbed {\r\n static blotName = 'mind-map'\r\n static tagName = 'div'\r\n static className = 'ql-mind-map-item'\r\n quill: Quill | null = null\r\n mindMap: any | null = null\r\n data: any\r\n zoomCount = 0\r\n contextMenu: HTMLElement | null = null\r\n currentNode: any = null\r\n width: number = 100\r\n height: number = 500\r\n parentObserver: MutationObserver | null = null\r\n nextPObserver: MutationObserver | null = null\r\n\r\n constructor(scroll: Root, domNode: HTMLElement) {\r\n super(scroll, domNode)\r\n const data = MindMapPlaceholderBlot.value(domNode)\r\n this.width = data.width || 100\r\n this.height = data.height || 500\r\n this.domNode.style.width = `${this.width}${data.width ? 'px' : '%'}`\r\n this.domNode.style.height = `${this.height}px`\r\n this.domNode.style.maxWidth = '100%'\r\n this.domNode.style.border = '1px solid #e8e8e8'\r\n this.domNode.setAttribute('contenteditable', 'false')\r\n this.data = MindMapPlaceholderBlot.value(domNode)\r\n this.initMindMap()\r\n }\r\n\r\n static value(domNode: HTMLElement): any {\r\n const dataStr = JSON.parse(domNode.getAttribute('data-mind-map'))\r\n const value = dataStr\r\n if (domNode.hasAttribute('width')) {\r\n value.width = Number.parseInt(domNode.getAttribute('width'), 10)\r\n }\r\n if (domNode.hasAttribute('height')) {\r\n value.height = Number.parseInt(domNode.getAttribute('height'), 10)\r\n }\r\n return dataStr\r\n }\r\n\r\n static create(value: any): HTMLElement {\r\n const node = super.create() as HTMLElement\r\n if (value) {\r\n node.setAttribute('data-mind-map', JSON.stringify(value))\r\n }\r\n if (value.width) {\r\n node.setAttribute('width', String(value.width))\r\n node.style.width = `${value.width}%`\r\n }\r\n if (value.height) {\r\n node.setAttribute('height', String(value.height))\r\n node.style.height = `${value.height}px`\r\n }\r\n node.setAttribute('contenteditable', 'false')\r\n return node\r\n }\r\n\r\n private static findQuill(el: HTMLElement): Quill | null {\r\n let cur: HTMLElement | null = el\r\n while (cur) {\r\n const q = (cur as any).__quillInstance\r\n if (q) return q\r\n cur = cur.parentElement\r\n }\r\n return null\r\n }\r\n\r\n attach() {\r\n super.attach()\r\n this.quill = MindMapPlaceholderBlot.findQuill(this.domNode)\r\n }\r\n\r\n initMindMap(): void {\r\n if (this.domNode.isConnected) {\r\n this.insertMindMapEditor()\r\n }\r\n else {\r\n const observer = new MutationObserver(() => {\r\n if (this.domNode.isConnected) {\r\n this.insertMindMapEditor()\r\n observer.disconnect()\r\n }\r\n })\r\n observer.observe(document.body, { childList: true, subtree: true })\r\n }\r\n }\r\n\r\n insertMindMapEditor(): void {\r\n this.domNode.style.width = `${this.width}${this.data.width ? 'px' : '%'}`\r\n this.domNode.style.height = `${this.height}px`\r\n while (this.domNode.firstChild) {\r\n this.domNode.removeChild(this.domNode.firstChild)\r\n }\r\n this.updateAlignmentStyle()\r\n this.observeParentAlignment()\r\n const { backgroundConfig, resizeConfig, lineConfig, themeConfig, deps } = getAllConfigs(this.quill)\r\n const { SimpleMindMap, Themes, Drag, Export } = deps || window as any\r\n Themes.init(SimpleMindMap)\r\n SimpleMindMap.usePlugin(Drag).usePlugin(Export)\r\n this.mindMap = new SimpleMindMap ({\r\n el: this.domNode,\r\n mousewheelAction: 'zoom',\r\n disableMouseWheelZoom: true,\r\n layout: this.data.layout,\r\n theme: themeConfig,\r\n data: this.data.root ? this.data.root : this.data,\r\n } as any)\r\n\r\n const styleConfig = { ...backgroundConfig }\r\n if (lineConfig && typeof lineConfig === 'object') {\r\n Object.assign(styleConfig, lineConfig)\r\n }\r\n\r\n this.mindMap.setThemeConfig(styleConfig)\r\n\r\n const handleScroll = () => {\r\n if (this.mindMap && this.domNode && this.domNode.isConnected) {\r\n this.mindMap.getElRectInfo()\r\n }\r\n }\r\n\r\n window.addEventListener('scroll', handleScroll, { passive: true })\r\n\r\n this.domNode.addEventListener('remove', () => {\r\n window.removeEventListener('scroll', handleScroll)\r\n })\r\n\r\n if (resizeConfig) {\r\n new MindMapResizeAction(this)\r\n }\r\n createControlPanel(this, this.quill as FluentEditor) // 创建控制面板\r\n initContextMenu(this, this.quill as FluentEditor) // 初始化右键菜单\r\n this.observeOwnParentChange()\r\n this.observeNextPElement()\r\n this.addMouseHoverEvents()\r\n this.mindMap.on('node_tree_render_end', () => {\r\n this.data = this.mindMap.getData({})\r\n this.domNode.setAttribute('data-mind-map', JSON.stringify(this.data))\r\n })\r\n this.mindMap.on('node_dblclick', this.handleNodeDblClick.bind(this))\r\n this.domNode.addEventListener('click', (e) => {\r\n if (this.quill) {\r\n this.mindMap.getElRectInfo()\r\n const mindMapBlot = Quill.find(this.domNode)\r\n const index = this.quill.getIndex(mindMapBlot as MindMapPlaceholderBlot)\r\n if (index && typeof index === 'number') {\r\n this.quill.setSelection(index + 1, 0)\r\n }\r\n }\r\n })\r\n }\r\n\r\n addMouseHoverEvents(): void {\r\n this.domNode.addEventListener('mouseenter', () => {\r\n this.showControlPanel()\r\n })\r\n\r\n this.domNode.addEventListener('mouseleave', () => {\r\n this.mindMap.execCommand('CLEAR_ACTIVE_NODE')\r\n this.hideControlPanel()\r\n })\r\n }\r\n\r\n getControlElements(): { leftUpControl: HTMLElement | null, control: HTMLElement | null, panelStatusIcon: HTMLElement | null } {\r\n const leftUpControl = this.domNode.querySelector('.ql-mind-map-left-up-control') as HTMLElement | null\r\n const control = this.domNode.querySelector('.ql-mind-map-control') as HTMLElement | null\r\n const panelStatusIcon = this.domNode.querySelector('[data-control-type=\"panel-status\"]') as HTMLElement | null\r\n return { leftUpControl, control, panelStatusIcon }\r\n }\r\n\r\n showControlPanel(): void {\r\n const { leftUpControl, control, panelStatusIcon } = this.getControlElements()\r\n if (!leftUpControl || !control) return\r\n\r\n leftUpControl.style.display = 'inline-flex'\r\n control.style.display = 'flex'\r\n if (panelStatusIcon) {\r\n const iconElement = panelStatusIcon.querySelector('i') || panelStatusIcon\r\n iconElement.innerHTML = expandIcon\r\n }\r\n }\r\n\r\n hideControlPanel(): void {\r\n const { leftUpControl, control, panelStatusIcon } = this.getControlElements()\r\n if (!leftUpControl || !control) return\r\n\r\n leftUpControl.style.display = 'none'\r\n control.style.display = 'none'\r\n if (panelStatusIcon) {\r\n const iconElement = panelStatusIcon.querySelector('i') || panelStatusIcon\r\n iconElement.innerHTML = contractIcon\r\n }\r\n }\r\n\r\n // 监听父元素变化\r\n observeOwnParentChange(): void {\r\n let currentParent = this.domNode.parentElement\r\n const observer = new MutationObserver(() => {\r\n if (this.domNode.parentElement !== currentParent) {\r\n currentParent = this.domNode.parentElement\r\n this.observeParentAlignment()\r\n }\r\n })\r\n\r\n observer.observe(document.body, {\r\n attributes: false,\r\n childList: true,\r\n subtree: true,\r\n })\r\n }\r\n\r\n // 监听父元素对齐变化\r\n observeParentAlignment(): void {\r\n if (this.parentObserver) {\r\n this.parentObserver.disconnect()\r\n }\r\n\r\n const observer = new MutationObserver((mutations) => {\r\n mutations.forEach((mutation) => {\r\n if (mutation.attributeName === 'class') {\r\n this.updateAlignmentStyle()\r\n }\r\n })\r\n })\r\n\r\n this.parentObserver = observer\r\n\r\n const parent = this.domNode.parentElement\r\n if (parent) {\r\n observer.observe(parent, {\r\n attributes: true,\r\n attributeFilter: ['class'],\r\n })\r\n this.updateAlignmentStyle()\r\n }\r\n }\r\n\r\n // 更新对齐样式\r\n updateAlignmentStyle(): void {\r\n const parent = this.domNode.parentElement\r\n if (!parent) return\r\n\r\n this.domNode.style.margin = ''\r\n this.domNode.style.display = 'block'\r\n\r\n if (parent.classList.contains('ql-align-center')) {\r\n this.domNode.style.margin = '0 auto'\r\n }\r\n else if (parent.classList.contains('ql-align-right')) {\r\n this.domNode.style.marginLeft = 'auto'\r\n this.domNode.style.marginRight = '0'\r\n }\r\n else {\r\n this.domNode.style.marginLeft = '0'\r\n this.domNode.style.marginRight = 'auto'\r\n }\r\n }\r\n\r\n observeNextPElement(): void {\r\n if (this.nextPObserver) {\r\n this.nextPObserver.disconnect()\r\n }\r\n const parentElement = this.domNode.parentElement\r\n if (!parentElement) {\r\n return\r\n }\r\n const trackedParentElement = parentElement\r\n const parentElementId = parentElement.getAttribute('id') || `mind-map-parent-${Date.now()}`\r\n parentElement.setAttribute('id', parentElementId)\r\n const observer = new MutationObserver(() => {\r\n if (!document.contains(trackedParentElement)) {\r\n const elementById = document.getElementById(parentElementId)\r\n if (!elementById) {\r\n this.remove()\r\n observer.disconnect()\r\n }\r\n }\r\n })\r\n observer.observe(document.body, {\r\n childList: true,\r\n subtree: true,\r\n })\r\n this.nextPObserver = observer\r\n }\r\n\r\n handleNodeDblClick(node: any, e: any) {\r\n if (node && node.uid && e) {\r\n this.currentNode = node\r\n this.createEditInput(node, e)\r\n }\r\n }\r\n\r\n // 创建编辑输入框\r\n createEditInput(node: any, e: any) {\r\n const input = document.createElement('textarea')\r\n input.className = 'ql-mind-map-edit-input'\r\n input.value = node.nodeData.data.text || ''\r\n const autoResize = () => {\r\n input.style.height = 'auto'\r\n input.style.height = `${input.scrollHeight}px`\r\n }\r\n Object.assign(input.style, {\r\n position: 'absolute',\r\n boxSizing: 'border-box',\r\n width: '100px',\r\n height: '35px',\r\n padding: '5px',\r\n lineHeight: '1.2',\r\n fontFamily: '微软雅黑',\r\n fontSize: '16px',\r\n whiteSpace: 'pre',\r\n textAlign: 'center',\r\n background: '#fff',\r\n border: '1px solid #edefed',\r\n borderRadius: '3px',\r\n outline: 'none',\r\n transform: 'translate(-50%, -50%)',\r\n resize: 'none',\r\n zIndex: '1000',\r\n left: `${e.pageX ? e.pageX : 100}px`,\r\n top: `${e.pageY ? e.pageY : 100}px`,\r\n overflow: 'hidden',\r\n })\r\n\r\n document.body.appendChild(input)\r\n autoResize()\r\n input.addEventListener('keydown', (event) => {\r\n if (event.key === 'Enter' && event.shiftKey) {\r\n autoResize()\r\n }\r\n })\r\n input.focus()\r\n\r\n const currentNode = node\r\n const handleDrawClick = () => {\r\n this.updateNodeText(input.value, currentNode)\r\n input.remove()\r\n this.mindMap.off('draw_click', handleDrawClick)\r\n }\r\n\r\n this.mindMap.on('draw_click', handleDrawClick)\r\n\r\n input.addEventListener('keydown', (event) => {\r\n if (event.key === 'Enter' && !event.shiftKey) {\r\n event.preventDefault()\r\n this.updateNodeText(input.value, currentNode)\r\n input.remove()\r\n this.mindMap.off('draw_click', handleDrawClick)\r\n }\r\n })\r\n }\r\n\r\n updateNodeText(text: string, node: any) {\r\n if (node && this.mindMap) {\r\n node.setText(text)\r\n const editWraps = document.querySelectorAll('.smm-node-edit-wrap')\r\n editWraps.forEach((editWrap) => {\r\n const input = editWrap.querySelector('input, textarea')\r\n if (input) {\r\n (input as HTMLInputElement | HTMLTextAreaElement).value = text\r\n }\r\n else {\r\n editWrap.textContent = text\r\n }\r\n })\r\n this.data = this.mindMap.getData({})\r\n this.domNode.setAttribute('data-mind-map', JSON.stringify(this.data))\r\n }\r\n }\r\n\r\n format(name: string, value: any) {\r\n }\r\n\r\n remove() {\r\n this.mindMap.destroy()\r\n if (this.nextPObserver) {\r\n this.nextPObserver.disconnect()\r\n this.nextPObserver = null\r\n }\r\n super.remove()\r\n }\r\n}\r\n\r\nexport default MindMapPlaceholderBlot\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mind-map-blot.es.js","sources":["../../../../../src/modules/mind-map/formats/mind-map-blot.ts"],"sourcesContent":["import type { Root } from 'parchment'\nimport type { BlockEmbed as TypeBlockEmbed } from 'quill/blots/block'\nimport type FluentEditor from '../../../core/fluent-editor'\nimport Quill from 'quill'\nimport { getAllConfigs } from '../config-utils'\nimport { contractIcon, expandIcon } from '../icons'\nimport { initContextMenu } from '../modules/context-menu'\nimport { createControlPanel } from '../modules/control-panel'\nimport { MindMapResizeAction } from '../modules/custom-resize-action'\nimport '../style/mind-map.scss'\n\nconst BlockEmbed = Quill.import('blots/embed') as typeof TypeBlockEmbed\n\nclass MindMapPlaceholderBlot extends BlockEmbed {\n static blotName = 'mind-map'\n static tagName = 'div'\n static className = 'ql-mind-map-item'\n quill: Quill | null = null\n mindMap: any | null = null\n data: any\n zoomCount = 0\n contextMenu: HTMLElement | null = null\n currentNode: any = null\n width: number = 100\n height: number = 500\n parentObserver: MutationObserver | null = null\n nextPObserver: MutationObserver | null = null\n\n constructor(scroll: Root, domNode: HTMLElement) {\n super(scroll, domNode)\n const data = MindMapPlaceholderBlot.value(domNode)\n this.width = data.width || 100\n this.height = data.height || 500\n this.domNode.style.width = `${this.width}${data.width ? 'px' : '%'}`\n this.domNode.style.height = `${this.height}px`\n this.domNode.style.maxWidth = '100%'\n this.domNode.style.border = '1px solid #e8e8e8'\n this.domNode.setAttribute('contenteditable', 'false')\n this.data = MindMapPlaceholderBlot.value(domNode)\n this.initMindMap()\n }\n\n static value(domNode: HTMLElement): any {\n const dataStr = JSON.parse(domNode.getAttribute('data-mind-map'))\n const value = dataStr\n if (domNode.hasAttribute('width')) {\n value.width = Number.parseInt(domNode.getAttribute('width'), 10)\n }\n if (domNode.hasAttribute('height')) {\n value.height = Number.parseInt(domNode.getAttribute('height'), 10)\n }\n return dataStr\n }\n\n static create(value: any): HTMLElement {\n const node = super.create() as HTMLElement\n if (value) {\n node.setAttribute('data-mind-map', JSON.stringify(value))\n }\n if (value.width) {\n node.setAttribute('width', String(value.width))\n node.style.width = `${value.width}%`\n }\n if (value.height) {\n node.setAttribute('height', String(value.height))\n node.style.height = `${value.height}px`\n }\n node.setAttribute('contenteditable', 'false')\n return node\n }\n\n private static findQuill(el: HTMLElement): Quill | null {\n let cur: HTMLElement | null = el\n while (cur) {\n const q = (cur as any).__quillInstance\n if (q) return q\n cur = cur.parentElement\n }\n return null\n }\n\n attach() {\n super.attach()\n this.quill = MindMapPlaceholderBlot.findQuill(this.domNode)\n }\n\n initMindMap(): void {\n if (this.domNode.isConnected) {\n this.insertMindMapEditor()\n }\n else {\n const observer = new MutationObserver(() => {\n if (this.domNode.isConnected) {\n this.insertMindMapEditor()\n observer.disconnect()\n }\n })\n observer.observe(document.body, { childList: true, subtree: true })\n }\n }\n\n insertMindMapEditor(): void {\n this.domNode.style.width = `${this.width}${this.data.width ? 'px' : '%'}`\n this.domNode.style.height = `${this.height}px`\n while (this.domNode.firstChild) {\n this.domNode.removeChild(this.domNode.firstChild)\n }\n this.updateAlignmentStyle()\n this.observeParentAlignment()\n const { backgroundConfig, resizeConfig, lineConfig, themeConfig, deps } = getAllConfigs(this.quill)\n const { SimpleMindMap, Themes, Drag, Export } = deps || window as any\n Themes.init(SimpleMindMap)\n SimpleMindMap.usePlugin(Drag).usePlugin(Export)\n this.mindMap = new SimpleMindMap ({\n el: this.domNode,\n mousewheelAction: 'zoom',\n disableMouseWheelZoom: true,\n layout: this.data.layout,\n theme: themeConfig,\n data: this.data.root ? this.data.root : this.data,\n } as any)\n\n const styleConfig = { ...backgroundConfig }\n if (lineConfig && typeof lineConfig === 'object') {\n Object.assign(styleConfig, lineConfig)\n }\n\n this.mindMap.setThemeConfig(styleConfig)\n\n const handleScroll = () => {\n if (this.mindMap && this.domNode && this.domNode.isConnected) {\n this.mindMap.getElRectInfo()\n }\n }\n\n window.addEventListener('scroll', handleScroll, { passive: true })\n\n this.domNode.addEventListener('remove', () => {\n window.removeEventListener('scroll', handleScroll)\n })\n\n if (resizeConfig) {\n new MindMapResizeAction(this)\n }\n createControlPanel(this, this.quill as FluentEditor) // 创建控制面板\n initContextMenu(this, this.quill as FluentEditor) // 初始化右键菜单\n this.observeOwnParentChange()\n this.observeNextPElement()\n this.addMouseHoverEvents()\n this.mindMap.on('node_tree_render_end', () => {\n this.data = this.mindMap.getData({})\n this.domNode.setAttribute('data-mind-map', JSON.stringify(this.data))\n })\n this.mindMap.on('node_dblclick', this.handleNodeDblClick.bind(this))\n this.domNode.addEventListener('click', (e) => {\n if (this.quill) {\n this.mindMap.getElRectInfo()\n const mindMapBlot = Quill.find(this.domNode)\n const index = this.quill.getIndex(mindMapBlot as MindMapPlaceholderBlot)\n if (index && typeof index === 'number') {\n this.quill.setSelection(index + 1, 0)\n }\n }\n })\n }\n\n addMouseHoverEvents(): void {\n this.domNode.addEventListener('mouseenter', () => {\n this.showControlPanel()\n })\n\n this.domNode.addEventListener('mouseleave', () => {\n this.mindMap.execCommand('CLEAR_ACTIVE_NODE')\n this.hideControlPanel()\n })\n }\n\n getControlElements(): { leftUpControl: HTMLElement | null, control: HTMLElement | null, panelStatusIcon: HTMLElement | null } {\n const leftUpControl = this.domNode.querySelector('.ql-mind-map-left-up-control') as HTMLElement | null\n const control = this.domNode.querySelector('.ql-mind-map-control') as HTMLElement | null\n const panelStatusIcon = this.domNode.querySelector('[data-control-type=\"panel-status\"]') as HTMLElement | null\n return { leftUpControl, control, panelStatusIcon }\n }\n\n showControlPanel(): void {\n const { leftUpControl, control, panelStatusIcon } = this.getControlElements()\n if (!leftUpControl || !control) return\n\n leftUpControl.style.display = 'inline-flex'\n control.style.display = 'flex'\n if (panelStatusIcon) {\n const iconElement = panelStatusIcon.querySelector('i') || panelStatusIcon\n iconElement.innerHTML = expandIcon\n }\n }\n\n hideControlPanel(): void {\n const { leftUpControl, control, panelStatusIcon } = this.getControlElements()\n if (!leftUpControl || !control) return\n\n leftUpControl.style.display = 'none'\n control.style.display = 'none'\n if (panelStatusIcon) {\n const iconElement = panelStatusIcon.querySelector('i') || panelStatusIcon\n iconElement.innerHTML = contractIcon\n }\n }\n\n // 监听父元素变化\n observeOwnParentChange(): void {\n let currentParent = this.domNode.parentElement\n const observer = new MutationObserver(() => {\n if (this.domNode.parentElement !== currentParent) {\n currentParent = this.domNode.parentElement\n this.observeParentAlignment()\n }\n })\n\n observer.observe(document.body, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n }\n\n // 监听父元素对齐变化\n observeParentAlignment(): void {\n if (this.parentObserver) {\n this.parentObserver.disconnect()\n }\n\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.attributeName === 'class') {\n this.updateAlignmentStyle()\n }\n })\n })\n\n this.parentObserver = observer\n\n const parent = this.domNode.parentElement\n if (parent) {\n observer.observe(parent, {\n attributes: true,\n attributeFilter: ['class'],\n })\n this.updateAlignmentStyle()\n }\n }\n\n // 更新对齐样式\n updateAlignmentStyle(): void {\n const parent = this.domNode.parentElement\n if (!parent) return\n\n this.domNode.style.margin = ''\n this.domNode.style.display = 'block'\n\n if (parent.classList.contains('ql-align-center')) {\n this.domNode.style.margin = '0 auto'\n }\n else if (parent.classList.contains('ql-align-right')) {\n this.domNode.style.marginLeft = 'auto'\n this.domNode.style.marginRight = '0'\n }\n else {\n this.domNode.style.marginLeft = '0'\n this.domNode.style.marginRight = 'auto'\n }\n }\n\n observeNextPElement(): void {\n if (this.nextPObserver) {\n this.nextPObserver.disconnect()\n }\n const parentElement = this.domNode.parentElement\n if (!parentElement) {\n return\n }\n const trackedParentElement = parentElement\n const parentElementId = parentElement.getAttribute('id') || `mind-map-parent-${Date.now()}`\n parentElement.setAttribute('id', parentElementId)\n const observer = new MutationObserver(() => {\n if (!document.contains(trackedParentElement)) {\n const elementById = document.getElementById(parentElementId)\n if (!elementById) {\n this.remove()\n observer.disconnect()\n }\n }\n })\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n })\n this.nextPObserver = observer\n }\n\n handleNodeDblClick(node: any, e: any) {\n if (node && node.uid && e) {\n this.currentNode = node\n this.createEditInput(node, e)\n }\n }\n\n // 创建编辑输入框\n createEditInput(node: any, e: any) {\n const input = document.createElement('textarea')\n input.className = 'ql-mind-map-edit-input'\n input.value = node.nodeData.data.text || ''\n const autoResize = () => {\n input.style.height = 'auto'\n input.style.height = `${input.scrollHeight}px`\n }\n Object.assign(input.style, {\n position: 'absolute',\n boxSizing: 'border-box',\n width: '100px',\n height: '35px',\n padding: '5px',\n lineHeight: '1.2',\n fontFamily: '微软雅黑',\n fontSize: '16px',\n whiteSpace: 'pre',\n textAlign: 'center',\n background: '#fff',\n border: '1px solid #edefed',\n borderRadius: '3px',\n outline: 'none',\n transform: 'translate(-50%, -50%)',\n resize: 'none',\n zIndex: '1000',\n left: `${e.pageX ? e.pageX : 100}px`,\n top: `${e.pageY ? e.pageY : 100}px`,\n overflow: 'hidden',\n })\n\n document.body.appendChild(input)\n autoResize()\n input.addEventListener('keydown', (event) => {\n if (event.key === 'Enter' && event.shiftKey) {\n autoResize()\n }\n })\n input.focus()\n\n const currentNode = node\n const handleDrawClick = () => {\n this.updateNodeText(input.value, currentNode)\n input.remove()\n this.mindMap.off('draw_click', handleDrawClick)\n }\n\n this.mindMap.on('draw_click', handleDrawClick)\n\n input.addEventListener('keydown', (event) => {\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault()\n this.updateNodeText(input.value, currentNode)\n input.remove()\n this.mindMap.off('draw_click', handleDrawClick)\n }\n })\n }\n\n updateNodeText(text: string, node: any) {\n if (node && this.mindMap) {\n node.setText(text)\n const editWraps = document.querySelectorAll('.smm-node-edit-wrap')\n editWraps.forEach((editWrap) => {\n const input = editWrap.querySelector('input, textarea')\n if (input) {\n (input as HTMLInputElement | HTMLTextAreaElement).value = text\n }\n else {\n editWrap.textContent = text\n }\n })\n this.data = this.mindMap.getData({})\n this.domNode.setAttribute('data-mind-map', JSON.stringify(this.data))\n }\n }\n\n format(name: string, value: any) {\n }\n\n remove() {\n this.mindMap.destroy()\n if (this.nextPObserver) {\n this.nextPObserver.disconnect()\n this.nextPObserver = null\n }\n super.remove()\n }\n}\n\nexport default MindMapPlaceholderBlot\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en-us.es.js","sources":["../../../../../src/modules/mind-map/i18n/en-us.ts"],"sourcesContent":["export const MIND_MAP_EN_US = {\
|
|
1
|
+
{"version":3,"file":"en-us.es.js","sources":["../../../../../src/modules/mind-map/i18n/en-us.ts"],"sourcesContent":["export const MIND_MAP_EN_US = {\n 'mindMap.controlPanel.zoomOutTitle': 'Zoom Out View',\n 'mindMap.controlPanel.zoomInTitle': 'Zoom In View',\n 'mindMap.controlPanel.fitTitle': 'Fit View Size',\n 'mindMap.controlPanel.backTitle': 'Step Back',\n 'mindMap.controlPanel.forwardTitle': 'Step Forward',\n 'mindMap.controlPanel.inserChildNodeTitle': 'Insert Child Node',\n 'mindMap.controlPanel.inserNodeTitle': 'Insert Sibling Node',\n 'mindMap.controlPanel.inserParentNodeTitle': 'Insert Parent Node',\n 'mindMap.controlPanel.removeNodeTitle': 'Delete Current Node',\n 'mindMap.controlPanel.setLayoutTitle': 'Set Layout',\n 'mindMap.layout.logicalStructure': 'Logical Structure',\n 'mindMap.layout.catalogOrganization': 'Catalog Organization',\n 'mindMap.layout.mindMap': 'Mind Map',\n 'mindMap.layout.organizationStructure': 'Organization Structure',\n 'mindMap.layout.timeline': 'Timeline',\n 'mindMap.layout.fishbone': 'Fishbone Diagram',\n 'mindMap.contextMenu.copy': 'Copy',\n 'mindMap.contextMenu.cut': 'Cut',\n 'mindMap.contextMenu.paste': 'Paste',\n 'mindMap.contextMenu.deleteContent': 'Delete',\n 'mindMap.controlPanel.panelStatusTitle': 'Panel Status',\n 'mindMap.controlPanel.screenTypeTitle': 'Screen Type',\n 'mindMap.controlPanel.insertIconTitle': 'Insert Icon',\n}\n"],"names":[],"mappings":"AAAO,MAAM,iBAAiB;AAAA,EAC5B,qCAAqC;AAAA,EACrC,oCAAoC;AAAA,EACpC,iCAAiC;AAAA,EACjC,kCAAkC;AAAA,EAClC,qCAAqC;AAAA,EACrC,4CAA4C;AAAA,EAC5C,uCAAuC;AAAA,EACvC,6CAA6C;AAAA,EAC7C,wCAAwC;AAAA,EACxC,uCAAuC;AAAA,EACvC,mCAAmC;AAAA,EACnC,sCAAsC;AAAA,EACtC,0BAA0B;AAAA,EAC1B,wCAAwC;AAAA,EACxC,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,4BAA4B;AAAA,EAC5B,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAC7B,qCAAqC;AAAA,EACrC,yCAAyC;AAAA,EACzC,wCAAwC;AAAA,EACxC,wCAAwC;AAC1C;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../../../src/modules/mind-map/i18n/index.ts"],"sourcesContent":["import { MIND_MAP_EN_US } from './en-us'\
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../../../src/modules/mind-map/i18n/index.ts"],"sourcesContent":["import { MIND_MAP_EN_US } from './en-us'\nimport { MIND_MAP_ZH_CN } from './zh-cn'\n\nexport function registerMindMapI18N(I18N: any) {\n I18N.register({\n 'en-US': MIND_MAP_EN_US,\n 'zh-CN': MIND_MAP_ZH_CN,\n }, false)\n}\n"],"names":[],"mappings":";;AAGO,SAAS,oBAAoB,MAAW;AAC7C,OAAK,SAAS;AAAA,IACZ,SAAS;AAAA,IACT,SAAS;AAAA,EAAA,GACR,KAAK;AACV;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-cn.es.js","sources":["../../../../../src/modules/mind-map/i18n/zh-cn.ts"],"sourcesContent":["export const MIND_MAP_ZH_CN = {\
|
|
1
|
+
{"version":3,"file":"zh-cn.es.js","sources":["../../../../../src/modules/mind-map/i18n/zh-cn.ts"],"sourcesContent":["export const MIND_MAP_ZH_CN = {\n 'mindMap.controlPanel.zoomOutTitle': '缩小视图',\n 'mindMap.controlPanel.zoomInTitle': '放大视图',\n 'mindMap.controlPanel.fitTitle': '适应视图大小',\n 'mindMap.controlPanel.backTitle': '后退一步',\n 'mindMap.controlPanel.forwardTitle': '前进一步',\n 'mindMap.controlPanel.inserChildNodeTitle': '插入子节点',\n 'mindMap.controlPanel.inserNodeTitle': '插入同级节点',\n 'mindMap.controlPanel.inserParentNodeTitle': '插入父节点',\n 'mindMap.controlPanel.removeNodeTitle': '删除当前节点',\n 'mindMap.controlPanel.setLayoutTitle': '设置布局',\n 'mindMap.layout.logicalStructure': '逻辑结构',\n 'mindMap.layout.catalogOrganization': '目录组织',\n 'mindMap.layout.mindMap': '思维导图',\n 'mindMap.layout.organizationStructure': '组织结构',\n 'mindMap.layout.timeline': '时间轴',\n 'mindMap.layout.fishbone': '鱼骨图',\n 'mindMap.contextMenu.copy': '复制',\n 'mindMap.contextMenu.cut': '剪切',\n 'mindMap.contextMenu.paste': '粘贴',\n 'mindMap.contextMenu.deleteContent': '删除',\n 'mindMap.controlPanel.panelStatusTitle': '面板状态',\n 'mindMap.controlPanel.screenTypeTitle': '屏幕类型',\n 'mindMap.controlPanel.insertIconTitle': '插入图标',\n}\n"],"names":[],"mappings":"AAAO,MAAM,iBAAiB;AAAA,EAC5B,qCAAqC;AAAA,EACrC,oCAAoC;AAAA,EACpC,iCAAiC;AAAA,EACjC,kCAAkC;AAAA,EAClC,qCAAqC;AAAA,EACrC,4CAA4C;AAAA,EAC5C,uCAAuC;AAAA,EACvC,6CAA6C;AAAA,EAC7C,wCAAwC;AAAA,EACxC,uCAAuC;AAAA,EACvC,mCAAmC;AAAA,EACnC,sCAAsC;AAAA,EACtC,0BAA0B;AAAA,EAC1B,wCAAwC;AAAA,EACxC,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,4BAA4B;AAAA,EAC5B,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAC7B,qCAAqC;AAAA,EACrC,yCAAyC;AAAA,EACzC,wCAAwC;AAAA,EACxC,wCAAwC;AAC1C;"}
|