diff --git a/src/hooks/useAlignActiveElement.ts b/src/hooks/useAlignActiveElement.ts index 86cdad75..db9e6da4 100644 --- a/src/hooks/useAlignActiveElement.ts +++ b/src/hooks/useAlignActiveElement.ts @@ -1,7 +1,7 @@ import { storeToRefs } from 'pinia' import { useMainStore, useSlidesStore } from '@/store' import { PPTElement } from '@/types/slides' -import { ElementAlignCommand, ElementAlignCommands } from '@/types/edit' +import { ElementAlignCommands } from '@/types/edit' import { getElementListRange, getRectRotatedOffset } from '@/utils/element' import useHistorySnapshot from './useHistorySnapshot' @@ -16,7 +16,7 @@ export default () => { * 对齐选中的元素 * @param command 对齐方向 */ - const alignActiveElement = (command: ElementAlignCommand) => { + const alignActiveElement = (command: ElementAlignCommands) => { const { minX, maxX, minY, maxY } = getElementListRange(activeElementList.value) const elementList: PPTElement[] = JSON.parse(JSON.stringify(currentSlide.value.elements)) diff --git a/src/hooks/useAlignElementToCanvas.ts b/src/hooks/useAlignElementToCanvas.ts index c529e913..d5b22bbe 100644 --- a/src/hooks/useAlignElementToCanvas.ts +++ b/src/hooks/useAlignElementToCanvas.ts @@ -1,7 +1,7 @@ import { storeToRefs } from 'pinia' import { useMainStore, useSlidesStore } from '@/store' import { PPTElement } from '@/types/slides' -import { ElementAlignCommand, ElementAlignCommands } from '@/types/edit' +import { ElementAlignCommands } from '@/types/edit' import { getElementListRange } from '@/utils/element' import { VIEWPORT_SIZE } from '@/configs/canvas' import useHistorySnapshot from './useHistorySnapshot' @@ -17,7 +17,7 @@ export default () => { * 将所有选中的元素对齐到画布 * @param command 对齐方向 */ - const alignElementToCanvas = (command: ElementAlignCommand) => { + const alignElementToCanvas = (command: ElementAlignCommands) => { const viewportWidth = VIEWPORT_SIZE const viewportHeight = VIEWPORT_SIZE * viewportRatio.value const { minX, maxX, minY, maxY } = getElementListRange(activeElementList.value) diff --git a/src/hooks/useGlobalHotkey.ts b/src/hooks/useGlobalHotkey.ts index e2f004c7..83e1d5dc 100644 --- a/src/hooks/useGlobalHotkey.ts +++ b/src/hooks/useGlobalHotkey.ts @@ -1,7 +1,7 @@ import { onMounted, onUnmounted } from 'vue' import { storeToRefs } from 'pinia' import { useMainStore, useSlidesStore, useKeyboardStore } from '@/store' -import { ElementOrderCommand, ElementOrderCommands } from '@/types/edit' +import { ElementOrderCommands } from '@/types/edit' import { KEYS } from '@/configs/hotkey' import useSlideHandler from './useSlideHandler' @@ -95,7 +95,7 @@ export default () => { else if (key === KEYS.UP || key === KEYS.DOWN) updateSlideIndex(key) } - const order = (command: ElementOrderCommand) => { + const order = (command: ElementOrderCommands) => { if (!handleElement.value) return orderElement(handleElement.value, command) } diff --git a/src/hooks/useOrderElement.ts b/src/hooks/useOrderElement.ts index a6ec840f..44a4be69 100644 --- a/src/hooks/useOrderElement.ts +++ b/src/hooks/useOrderElement.ts @@ -1,7 +1,7 @@ import { storeToRefs } from 'pinia' import { useSlidesStore } from '@/store' import { PPTElement } from '@/types/slides' -import { ElementOrderCommand, ElementOrderCommands } from '@/types/edit' +import { ElementOrderCommands } from '@/types/edit' import useHistorySnapshot from '@/hooks/useHistorySnapshot' export default () => { @@ -192,7 +192,7 @@ export default () => { * @param element 需要调整层级的元素 * @param command 调整命令:上移、下移、置顶、置底 */ - const orderElement = (element: PPTElement, command: ElementOrderCommand) => { + const orderElement = (element: PPTElement, command: ElementOrderCommands) => { let newElementList if (command === ElementOrderCommands.UP) newElementList = moveUpElement(currentSlide.value.elements, element) diff --git a/src/store/main.ts b/src/store/main.ts index 82f8e436..f4f375a3 100644 --- a/src/store/main.ts +++ b/src/store/main.ts @@ -1,6 +1,6 @@ import { defineStore } from 'pinia' import { CreatingElement } from '@/types/edit' -import { ToolbarState } from '@/types/toolbar' +import { ToolbarStates } from '@/types/toolbar' import { SYS_FONTS } from '@/configs/font' import { TextAttrs, defaultRichTextAttrs } from '@/utils/prosemirror/utils' import { isSupportFont } from '@/utils/font' @@ -19,7 +19,7 @@ export interface MainState { showGridLines: boolean; creatingElement: CreatingElement | null; availableFonts: typeof SYS_FONTS; - toolbarState: ToolbarState; + toolbarState: ToolbarStates; clipingImageElementId: string; isScaling: boolean; richTextAttrs: TextAttrs; @@ -41,7 +41,7 @@ export const useMainStore = defineStore('main', { showGridLines: false, // 显示网格线 creatingElement: null, // 正在插入的元素信息,需要通过绘制插入的元素(文字、形状、线条) availableFonts: [], // 当前环境可用字体 - toolbarState: 'slideDesign', // 右侧工具栏状态 + toolbarState: ToolbarStates.SLIDE_DESIGN, // 右侧工具栏状态 clipingImageElementId: '', // 当前正在裁剪的图片ID richTextAttrs: defaultRichTextAttrs, // 富文本状态 selectedTableCells: [], // 选中的表格单元格 @@ -114,7 +114,7 @@ export const useMainStore = defineStore('main', { this.availableFonts = SYS_FONTS.filter(font => isSupportFont(font.value)) }, - setToolbarState(toolbarState: ToolbarState) { + setToolbarState(toolbarState: ToolbarStates) { this.toolbarState = toolbarState }, diff --git a/src/types/edit.ts b/src/types/edit.ts index 9dc6b48e..e7cd3b22 100644 --- a/src/types/edit.ts +++ b/src/types/edit.ts @@ -1,8 +1,6 @@ import { ShapePoolItem } from '@/configs/shapes' import { LinePoolItem } from '@/configs/lines' -export type ElementOrderCommand = 'up' | 'down' | 'top' | 'bottom' - export const enum ElementOrderCommands { UP = 'up', DOWN = 'down', @@ -10,8 +8,6 @@ export const enum ElementOrderCommands { BOTTOM = 'bottom', } -export type ElementAlignCommand = 'top'| 'bottom' | 'left' | 'right' | 'vertical' | 'horizontal' | 'center' - export const enum ElementAlignCommands { TOP = 'top', BOTTOM = 'bottom', @@ -22,8 +18,6 @@ export const enum ElementAlignCommands { CENTER = 'center', } -export type OperateBorderLine = 'top' | 'bottom' | 'left' | 'right' - export const enum OperateBorderLines { T = 'top', B = 'bottom', @@ -31,8 +25,6 @@ export const enum OperateBorderLines { R = 'right', } -export type OperateResizeHandler = '' | 'left-top' | 'top' | 'right-top' | 'left' | 'right' | 'left-bottom' | 'bottom' | 'right-bottom' - export const enum OperateResizeHandlers { LEFT_TOP = 'left-top', TOP = 'top', @@ -44,8 +36,6 @@ export const enum OperateResizeHandlers { RIGHT_BOTTOM = 'right-bottom', } -export type OperateLineHandler = 'start' | 'end' | 'ctrl' | 'ctrl1' | 'ctrl2' - export const enum OperateLineHandlers { START = 'start', END = 'end', diff --git a/src/types/toolbar.ts b/src/types/toolbar.ts index 3f966901..5e878816 100644 --- a/src/types/toolbar.ts +++ b/src/types/toolbar.ts @@ -1,5 +1,3 @@ -export type ToolbarState = 'symbol' | 'elAnimation' | 'elStyle' | 'elPosition' | 'slideDesign' | 'slideAnimation' | 'multiPosition' - export const enum ToolbarStates { SYMBOL = 'symbol', EL_ANIMATION = 'elAnimation', diff --git a/src/views/Editor/Canvas/Operate/BorderLine.vue b/src/views/Editor/Canvas/Operate/BorderLine.vue index 8a2d7502..a492526d 100644 --- a/src/views/Editor/Canvas/Operate/BorderLine.vue +++ b/src/views/Editor/Canvas/Operate/BorderLine.vue @@ -4,13 +4,13 @@