diff --git a/README_zh.md b/README_zh.md index ca8662aa..164120f0 100644 --- a/README_zh.md +++ b/README_zh.md @@ -16,7 +16,7 @@ 1. 本项目是一个 “Web 幻灯片应用” ,而不是 “低代码平台”、“H5 编辑器”、“图片编辑器” 、“白板应用”等。 2. 本项目的目标受众是有【Web 幻灯片】开发需求的开发者,提供的链接只是一个演示地址,不提供任何在线服务。你不应该直接将本项目作为工具使用,也不支持开箱即用。 如果你只是需要一个服务或工具,可以选择更优秀和成熟的产品,例如:[Slidev](https://sli.dev/)、[revealjs](https://revealjs.com/) 等。 -3. 本项目是基于 DOM 的渲染方案,优点是上手简单易扩展。但是相比 Canvas 渲染的方案,在复杂场景下性能会存在一定的差距,所以如果你对性能有较高的要求,本项目可能不是一个好的选择/参考方向。 +3. 本项目是基于 DOM 的渲染方案,优点是上手简单易扩展。但是相比 Canvas 渲染的方案,在极端复杂场景下性能会存在一定的差距,所以如果你对性能有较高的要求,本项目可能不是一个好的选择/参考方向。 4. 这里总结了一些[常见问题](/doc/Q&A.md),第一次提 Issues 和 PR 时,务必提前阅读此文档。 diff --git a/doc/AIPPT.md b/doc/AIPPT.md index 64fe2a99..beaaebb3 100644 --- a/doc/AIPPT.md +++ b/doc/AIPPT.md @@ -33,7 +33,7 @@ #### 内容页 * 标题 * 2~4个内容项,包括: -* 内容项标题(标记类型为:列表项标题) + * 内容项标题(标记类型为:列表项标题) * 内容项正文(标记类型为:列表项目) * 内容项编号(标记类型为:项目编号) * 图片(背景图、页面插图、项目插图) diff --git a/src/views/Editor/Canvas/Operate/LinkHandler.vue b/src/views/Editor/Canvas/Operate/LinkHandler.vue index 009f093d..6e60d6c0 100644 --- a/src/views/Editor/Canvas/Operate/LinkHandler.vue +++ b/src/views/Editor/Canvas/Operate/LinkHandler.vue @@ -58,6 +58,7 @@ const turnTarget = (slideId: string) => { margin-right: 20px; word-break: keep-all; white-space: nowrap; + cursor: pointer; @include ellipsis-oneline(); } diff --git a/src/views/components/element/ProsemirrorEditor.vue b/src/views/components/element/ProsemirrorEditor.vue index 95b3ab7e..d34d6ad9 100644 --- a/src/views/components/element/ProsemirrorEditor.vue +++ b/src/views/components/element/ProsemirrorEditor.vue @@ -11,7 +11,7 @@ import { computed, onMounted, onUnmounted, ref, watch } from 'vue' import { debounce } from 'lodash' import { storeToRefs } from 'pinia' -import { useMainStore } from '@/store' +import { useKeyboardStore, useMainStore } from '@/store' import type { EditorView } from 'prosemirror-view' import { toggleMark, wrapIn, lift } from 'prosemirror-commands' import { initProsemirrorEditor, createDocument } from '@/utils/prosemirror' @@ -45,7 +45,8 @@ const emit = defineEmits<{ }>() const mainStore = useMainStore() -const { handleElementId, textFormatPainter, richTextAttrs } = storeToRefs(mainStore) +const { handleElementId, textFormatPainter, richTextAttrs, activeElementIdList } = storeToRefs(mainStore) +const { ctrlOrShiftKeyActive } = storeToRefs(useKeyboardStore()) const editorViewRef = ref() let editorView: EditorView @@ -63,7 +64,10 @@ const handleInput = debounce(function(isHanldeHistory = false) { }, 300, { trailing: true }) const handleFocus = () => { - mainStore.setDisableHotkeysState(true) + // 多选且按下了ctrl或shift键时,不禁用全局快捷键 + if (!ctrlOrShiftKeyActive.value || activeElementIdList.value.length <= 1) { + mainStore.setDisableHotkeysState(true) + } emit('focus') }