refactor: 删除多余的类型定义

This commit is contained in:
pipipi-pikachu 2022-02-27 16:44:36 +08:00
parent 14c6965153
commit de95be8430
22 changed files with 46 additions and 58 deletions

View File

@ -1,7 +1,7 @@
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore, useSlidesStore } from '@/store' import { useMainStore, useSlidesStore } from '@/store'
import { PPTElement } from '@/types/slides' import { PPTElement } from '@/types/slides'
import { ElementAlignCommand, ElementAlignCommands } from '@/types/edit' import { ElementAlignCommands } from '@/types/edit'
import { getElementListRange, getRectRotatedOffset } from '@/utils/element' import { getElementListRange, getRectRotatedOffset } from '@/utils/element'
import useHistorySnapshot from './useHistorySnapshot' import useHistorySnapshot from './useHistorySnapshot'
@ -16,7 +16,7 @@ export default () => {
* *
* @param command * @param command
*/ */
const alignActiveElement = (command: ElementAlignCommand) => { const alignActiveElement = (command: ElementAlignCommands) => {
const { minX, maxX, minY, maxY } = getElementListRange(activeElementList.value) const { minX, maxX, minY, maxY } = getElementListRange(activeElementList.value)
const elementList: PPTElement[] = JSON.parse(JSON.stringify(currentSlide.value.elements)) const elementList: PPTElement[] = JSON.parse(JSON.stringify(currentSlide.value.elements))

View File

@ -1,7 +1,7 @@
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore, useSlidesStore } from '@/store' import { useMainStore, useSlidesStore } from '@/store'
import { PPTElement } from '@/types/slides' import { PPTElement } from '@/types/slides'
import { ElementAlignCommand, ElementAlignCommands } from '@/types/edit' import { ElementAlignCommands } from '@/types/edit'
import { getElementListRange } from '@/utils/element' import { getElementListRange } from '@/utils/element'
import { VIEWPORT_SIZE } from '@/configs/canvas' import { VIEWPORT_SIZE } from '@/configs/canvas'
import useHistorySnapshot from './useHistorySnapshot' import useHistorySnapshot from './useHistorySnapshot'
@ -17,7 +17,7 @@ export default () => {
* *
* @param command * @param command
*/ */
const alignElementToCanvas = (command: ElementAlignCommand) => { const alignElementToCanvas = (command: ElementAlignCommands) => {
const viewportWidth = VIEWPORT_SIZE const viewportWidth = VIEWPORT_SIZE
const viewportHeight = VIEWPORT_SIZE * viewportRatio.value const viewportHeight = VIEWPORT_SIZE * viewportRatio.value
const { minX, maxX, minY, maxY } = getElementListRange(activeElementList.value) const { minX, maxX, minY, maxY } = getElementListRange(activeElementList.value)

View File

@ -1,7 +1,7 @@
import { onMounted, onUnmounted } from 'vue' import { onMounted, onUnmounted } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore, useSlidesStore, useKeyboardStore } from '@/store' import { useMainStore, useSlidesStore, useKeyboardStore } from '@/store'
import { ElementOrderCommand, ElementOrderCommands } from '@/types/edit' import { ElementOrderCommands } from '@/types/edit'
import { KEYS } from '@/configs/hotkey' import { KEYS } from '@/configs/hotkey'
import useSlideHandler from './useSlideHandler' import useSlideHandler from './useSlideHandler'
@ -95,7 +95,7 @@ export default () => {
else if (key === KEYS.UP || key === KEYS.DOWN) updateSlideIndex(key) else if (key === KEYS.UP || key === KEYS.DOWN) updateSlideIndex(key)
} }
const order = (command: ElementOrderCommand) => { const order = (command: ElementOrderCommands) => {
if (!handleElement.value) return if (!handleElement.value) return
orderElement(handleElement.value, command) orderElement(handleElement.value, command)
} }

View File

@ -1,7 +1,7 @@
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useSlidesStore } from '@/store' import { useSlidesStore } from '@/store'
import { PPTElement } from '@/types/slides' import { PPTElement } from '@/types/slides'
import { ElementOrderCommand, ElementOrderCommands } from '@/types/edit' import { ElementOrderCommands } from '@/types/edit'
import useHistorySnapshot from '@/hooks/useHistorySnapshot' import useHistorySnapshot from '@/hooks/useHistorySnapshot'
export default () => { export default () => {
@ -192,7 +192,7 @@ export default () => {
* @param element * @param element
* @param command * @param command
*/ */
const orderElement = (element: PPTElement, command: ElementOrderCommand) => { const orderElement = (element: PPTElement, command: ElementOrderCommands) => {
let newElementList let newElementList
if (command === ElementOrderCommands.UP) newElementList = moveUpElement(currentSlide.value.elements, element) if (command === ElementOrderCommands.UP) newElementList = moveUpElement(currentSlide.value.elements, element)

View File

@ -1,6 +1,6 @@
import { defineStore } from 'pinia' import { defineStore } from 'pinia'
import { CreatingElement } from '@/types/edit' import { CreatingElement } from '@/types/edit'
import { ToolbarState } from '@/types/toolbar' import { ToolbarStates } from '@/types/toolbar'
import { SYS_FONTS } from '@/configs/font' import { SYS_FONTS } from '@/configs/font'
import { TextAttrs, defaultRichTextAttrs } from '@/utils/prosemirror/utils' import { TextAttrs, defaultRichTextAttrs } from '@/utils/prosemirror/utils'
import { isSupportFont } from '@/utils/font' import { isSupportFont } from '@/utils/font'
@ -19,7 +19,7 @@ export interface MainState {
showGridLines: boolean; showGridLines: boolean;
creatingElement: CreatingElement | null; creatingElement: CreatingElement | null;
availableFonts: typeof SYS_FONTS; availableFonts: typeof SYS_FONTS;
toolbarState: ToolbarState; toolbarState: ToolbarStates;
clipingImageElementId: string; clipingImageElementId: string;
isScaling: boolean; isScaling: boolean;
richTextAttrs: TextAttrs; richTextAttrs: TextAttrs;
@ -41,7 +41,7 @@ export const useMainStore = defineStore('main', {
showGridLines: false, // 显示网格线 showGridLines: false, // 显示网格线
creatingElement: null, // 正在插入的元素信息,需要通过绘制插入的元素(文字、形状、线条) creatingElement: null, // 正在插入的元素信息,需要通过绘制插入的元素(文字、形状、线条)
availableFonts: [], // 当前环境可用字体 availableFonts: [], // 当前环境可用字体
toolbarState: 'slideDesign', // 右侧工具栏状态 toolbarState: ToolbarStates.SLIDE_DESIGN, // 右侧工具栏状态
clipingImageElementId: '', // 当前正在裁剪的图片ID clipingImageElementId: '', // 当前正在裁剪的图片ID
richTextAttrs: defaultRichTextAttrs, // 富文本状态 richTextAttrs: defaultRichTextAttrs, // 富文本状态
selectedTableCells: [], // 选中的表格单元格 selectedTableCells: [], // 选中的表格单元格
@ -114,7 +114,7 @@ export const useMainStore = defineStore('main', {
this.availableFonts = SYS_FONTS.filter(font => isSupportFont(font.value)) this.availableFonts = SYS_FONTS.filter(font => isSupportFont(font.value))
}, },
setToolbarState(toolbarState: ToolbarState) { setToolbarState(toolbarState: ToolbarStates) {
this.toolbarState = toolbarState this.toolbarState = toolbarState
}, },

View File

@ -1,8 +1,6 @@
import { ShapePoolItem } from '@/configs/shapes' import { ShapePoolItem } from '@/configs/shapes'
import { LinePoolItem } from '@/configs/lines' import { LinePoolItem } from '@/configs/lines'
export type ElementOrderCommand = 'up' | 'down' | 'top' | 'bottom'
export const enum ElementOrderCommands { export const enum ElementOrderCommands {
UP = 'up', UP = 'up',
DOWN = 'down', DOWN = 'down',
@ -10,8 +8,6 @@ export const enum ElementOrderCommands {
BOTTOM = 'bottom', BOTTOM = 'bottom',
} }
export type ElementAlignCommand = 'top'| 'bottom' | 'left' | 'right' | 'vertical' | 'horizontal' | 'center'
export const enum ElementAlignCommands { export const enum ElementAlignCommands {
TOP = 'top', TOP = 'top',
BOTTOM = 'bottom', BOTTOM = 'bottom',
@ -22,8 +18,6 @@ export const enum ElementAlignCommands {
CENTER = 'center', CENTER = 'center',
} }
export type OperateBorderLine = 'top' | 'bottom' | 'left' | 'right'
export const enum OperateBorderLines { export const enum OperateBorderLines {
T = 'top', T = 'top',
B = 'bottom', B = 'bottom',
@ -31,8 +25,6 @@ export const enum OperateBorderLines {
R = 'right', R = 'right',
} }
export type OperateResizeHandler = '' | 'left-top' | 'top' | 'right-top' | 'left' | 'right' | 'left-bottom' | 'bottom' | 'right-bottom'
export const enum OperateResizeHandlers { export const enum OperateResizeHandlers {
LEFT_TOP = 'left-top', LEFT_TOP = 'left-top',
TOP = 'top', TOP = 'top',
@ -44,8 +36,6 @@ export const enum OperateResizeHandlers {
RIGHT_BOTTOM = 'right-bottom', RIGHT_BOTTOM = 'right-bottom',
} }
export type OperateLineHandler = 'start' | 'end' | 'ctrl' | 'ctrl1' | 'ctrl2'
export const enum OperateLineHandlers { export const enum OperateLineHandlers {
START = 'start', START = 'start',
END = 'end', END = 'end',

View File

@ -1,5 +1,3 @@
export type ToolbarState = 'symbol' | 'elAnimation' | 'elStyle' | 'elPosition' | 'slideDesign' | 'slideAnimation' | 'multiPosition'
export const enum ToolbarStates { export const enum ToolbarStates {
SYMBOL = 'symbol', SYMBOL = 'symbol',
EL_ANIMATION = 'elAnimation', EL_ANIMATION = 'elAnimation',

View File

@ -4,13 +4,13 @@
<script lang="ts"> <script lang="ts">
import { defineComponent, PropType } from 'vue' import { defineComponent, PropType } from 'vue'
import { OperateBorderLine } from '@/types/edit' import { OperateBorderLines } from '@/types/edit'
export default defineComponent({ export default defineComponent({
name: 'border-line', name: 'border-line',
props: { props: {
type: { type: {
type: String as PropType<OperateBorderLine>, type: String as PropType<OperateBorderLines>,
required: true, required: true,
}, },
isWide: { isWide: {

View File

@ -32,7 +32,7 @@ import { computed, defineComponent, PropType } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore } from '@/store' import { useMainStore } from '@/store'
import { PPTShapeElement, PPTVideoElement, PPTLatexElement, PPTAudioElement } from '@/types/slides' import { PPTShapeElement, PPTVideoElement, PPTLatexElement, PPTAudioElement } from '@/types/slides'
import { OperateResizeHandler } from '@/types/edit' import { OperateResizeHandlers } from '@/types/edit'
import useCommonOperate from '../hooks/useCommonOperate' import useCommonOperate from '../hooks/useCommonOperate'
import RotateHandler from './RotateHandler.vue' import RotateHandler from './RotateHandler.vue'
@ -63,7 +63,7 @@ export default defineComponent({
required: true, required: true,
}, },
scaleElement: { scaleElement: {
type: Function as PropType<(e: MouseEvent, element: PPTElement, command: OperateResizeHandler) => void>, type: Function as PropType<(e: MouseEvent, element: PPTElement, command: OperateResizeHandlers) => void>,
required: true, required: true,
}, },
}, },

View File

@ -31,7 +31,7 @@ import { computed, defineComponent, PropType } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore } from '@/store' import { useMainStore } from '@/store'
import { PPTImageElement } from '@/types/slides' import { PPTImageElement } from '@/types/slides'
import { OperateResizeHandler } from '@/types/edit' import { OperateResizeHandlers } from '@/types/edit'
import useCommonOperate from '../hooks/useCommonOperate' import useCommonOperate from '../hooks/useCommonOperate'
import RotateHandler from './RotateHandler.vue' import RotateHandler from './RotateHandler.vue'
@ -60,7 +60,7 @@ export default defineComponent({
required: true, required: true,
}, },
scaleElement: { scaleElement: {
type: Function as PropType<(e: MouseEvent, element: PPTImageElement, command: OperateResizeHandler) => void>, type: Function as PropType<(e: MouseEvent, element: PPTImageElement, command: OperateResizeHandlers) => void>,
required: true, required: true,
}, },
}, },

View File

@ -17,7 +17,7 @@ import { computed, defineComponent, PropType } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore } from '@/store' import { useMainStore } from '@/store'
import { PPTLineElement } from '@/types/slides' import { PPTLineElement } from '@/types/slides'
import { OperateLineHandler, OperateLineHandlers } from '@/types/edit' import { OperateLineHandlers } from '@/types/edit'
import ResizeHandler from './ResizeHandler.vue' import ResizeHandler from './ResizeHandler.vue'
@ -37,7 +37,7 @@ export default defineComponent({
required: true, required: true,
}, },
dragLineElement: { dragLineElement: {
type: Function as PropType<(e: MouseEvent, element: PPTLineElement, command: OperateLineHandler) => void>, type: Function as PropType<(e: MouseEvent, element: PPTLineElement, command: OperateLineHandlers) => void>,
required: true, required: true,
}, },
}, },

View File

@ -26,7 +26,7 @@ import { storeToRefs } from 'pinia'
import { useMainStore } from '@/store' import { useMainStore } from '@/store'
import { PPTElement } from '@/types/slides' import { PPTElement } from '@/types/slides'
import { getElementListRange } from '@/utils/element' import { getElementListRange } from '@/utils/element'
import { OperateResizeHandler, MultiSelectRange } from '@/types/edit' import { OperateResizeHandlers, MultiSelectRange } from '@/types/edit'
import useCommonOperate from '../hooks/useCommonOperate' import useCommonOperate from '../hooks/useCommonOperate'
import ResizeHandler from './ResizeHandler.vue' import ResizeHandler from './ResizeHandler.vue'
@ -44,7 +44,7 @@ export default defineComponent({
required: true, required: true,
}, },
scaleMultiElement: { scaleMultiElement: {
type: Function as PropType<(e: MouseEvent, range: MultiSelectRange, command: OperateResizeHandler) => void>, type: Function as PropType<(e: MouseEvent, range: MultiSelectRange, command: OperateResizeHandlers) => void>,
required: true, required: true,
}, },
}, },

View File

@ -4,13 +4,13 @@
<script lang="ts"> <script lang="ts">
import { computed, defineComponent, PropType } from 'vue' import { computed, defineComponent, PropType } from 'vue'
import { OperateResizeHandler } from '@/types/edit' import { OperateResizeHandlers } from '@/types/edit'
export default defineComponent({ export default defineComponent({
name: 'resize-handler', name: 'resize-handler',
props: { props: {
type: { type: {
type: String as PropType<OperateResizeHandler>, type: String as PropType<OperateResizeHandlers>,
default: '', default: '',
}, },
rotate: { rotate: {

View File

@ -31,7 +31,7 @@ import { computed, defineComponent, PropType } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore } from '@/store' import { useMainStore } from '@/store'
import { PPTShapeElement } from '@/types/slides' import { PPTShapeElement } from '@/types/slides'
import { OperateResizeHandler } from '@/types/edit' import { OperateResizeHandlers } from '@/types/edit'
import useCommonOperate from '../hooks/useCommonOperate' import useCommonOperate from '../hooks/useCommonOperate'
import RotateHandler from './RotateHandler.vue' import RotateHandler from './RotateHandler.vue'
@ -60,7 +60,7 @@ export default defineComponent({
required: true, required: true,
}, },
scaleElement: { scaleElement: {
type: Function as PropType<(e: MouseEvent, element: PPTShapeElement, command: OperateResizeHandler) => void>, type: Function as PropType<(e: MouseEvent, element: PPTShapeElement, command: OperateResizeHandlers) => void>,
required: true, required: true,
}, },
}, },

View File

@ -31,7 +31,7 @@ import { computed, defineComponent, PropType } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore } from '@/store' import { useMainStore } from '@/store'
import { PPTTableElement } from '@/types/slides' import { PPTTableElement } from '@/types/slides'
import { OperateResizeHandler } from '@/types/edit' import { OperateResizeHandlers } from '@/types/edit'
import useCommonOperate from '../hooks/useCommonOperate' import useCommonOperate from '../hooks/useCommonOperate'
import RotateHandler from './RotateHandler.vue' import RotateHandler from './RotateHandler.vue'
@ -60,7 +60,7 @@ export default defineComponent({
required: true, required: true,
}, },
scaleElement: { scaleElement: {
type: Function as PropType<(e: MouseEvent, element: PPTTableElement, command: OperateResizeHandler) => void>, type: Function as PropType<(e: MouseEvent, element: PPTTableElement, command: OperateResizeHandlers) => void>,
required: true, required: true,
}, },
}, },

View File

@ -31,7 +31,7 @@ import { computed, defineComponent, PropType } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore } from '@/store' import { useMainStore } from '@/store'
import { PPTTextElement } from '@/types/slides' import { PPTTextElement } from '@/types/slides'
import { OperateResizeHandler } from '@/types/edit' import { OperateResizeHandlers } from '@/types/edit'
import useCommonOperate from '../hooks/useCommonOperate' import useCommonOperate from '../hooks/useCommonOperate'
import RotateHandler from './RotateHandler.vue' import RotateHandler from './RotateHandler.vue'
@ -60,7 +60,7 @@ export default defineComponent({
required: true, required: true,
}, },
scaleElement: { scaleElement: {
type: Function as PropType<(e: MouseEvent, element: PPTTextElement, command: OperateResizeHandler) => void>, type: Function as PropType<(e: MouseEvent, element: PPTTextElement, command: OperateResizeHandlers) => void>,
required: true, required: true,
}, },
}, },

View File

@ -41,7 +41,7 @@ import { defineComponent, PropType, computed } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore, useSlidesStore } from '@/store' import { useMainStore, useSlidesStore } from '@/store'
import { ElementTypes, PPTElement, PPTLineElement, PPTVideoElement, PPTAudioElement } from '@/types/slides' import { ElementTypes, PPTElement, PPTLineElement, PPTVideoElement, PPTAudioElement } from '@/types/slides'
import { OperateLineHandler, OperateResizeHandler } from '@/types/edit' import { OperateLineHandlers, OperateResizeHandlers } from '@/types/edit'
import ImageElementOperate from './ImageElementOperate.vue' import ImageElementOperate from './ImageElementOperate.vue'
import TextElementOperate from './TextElementOperate.vue' import TextElementOperate from './TextElementOperate.vue'
@ -82,11 +82,11 @@ export default defineComponent({
required: true, required: true,
}, },
scaleElement: { scaleElement: {
type: Function as PropType<(e: MouseEvent, element: Exclude<PPTElement, PPTLineElement>, command: OperateResizeHandler) => void>, type: Function as PropType<(e: MouseEvent, element: Exclude<PPTElement, PPTLineElement>, command: OperateResizeHandlers) => void>,
required: true, required: true,
}, },
dragLineElement: { dragLineElement: {
type: Function as PropType<(e: MouseEvent, element: PPTLineElement, command: OperateLineHandler) => void>, type: Function as PropType<(e: MouseEvent, element: PPTLineElement, command: OperateLineHandlers) => void>,
required: true, required: true,
}, },
openLinkDialog: { openLinkDialog: {

View File

@ -2,7 +2,7 @@ import { Ref } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore, useSlidesStore } from '@/store' import { useMainStore, useSlidesStore } from '@/store'
import { PPTElement, PPTLineElement } from '@/types/slides' import { PPTElement, PPTLineElement } from '@/types/slides'
import { OperateLineHandler, OperateLineHandlers } from '@/types/edit' import { OperateLineHandlers } from '@/types/edit'
import useHistorySnapshot from '@/hooks/useHistorySnapshot' import useHistorySnapshot from '@/hooks/useHistorySnapshot'
interface AdsorptionPoint { interface AdsorptionPoint {
@ -17,7 +17,7 @@ export default (elementList: Ref<PPTElement[]>) => {
const { addHistorySnapshot } = useHistorySnapshot() const { addHistorySnapshot } = useHistorySnapshot()
// 拖拽线条端点 // 拖拽线条端点
const dragLineElement = (e: MouseEvent, element: PPTLineElement, command: OperateLineHandler) => { const dragLineElement = (e: MouseEvent, element: PPTLineElement, command: OperateLineHandlers) => {
let isMouseDown = true let isMouseDown = true
const sorptionRange = 8 const sorptionRange = 8

View File

@ -2,7 +2,7 @@ import { Ref } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore, useSlidesStore, useKeyboardStore } from '@/store' import { useMainStore, useSlidesStore, useKeyboardStore } from '@/store'
import { PPTElement, PPTImageElement, PPTLineElement, PPTShapeElement } from '@/types/slides' import { PPTElement, PPTImageElement, PPTLineElement, PPTShapeElement } from '@/types/slides'
import { OperateResizeHandlers, OperateResizeHandler, AlignmentLineProps, MultiSelectRange } from '@/types/edit' import { OperateResizeHandlers, AlignmentLineProps, MultiSelectRange } from '@/types/edit'
import { VIEWPORT_SIZE } from '@/configs/canvas' import { VIEWPORT_SIZE } from '@/configs/canvas'
import { MIN_SIZE } from '@/configs/element' import { MIN_SIZE } from '@/configs/element'
import { SHAPE_PATH_FORMULAS } from '@/configs/shapes' import { SHAPE_PATH_FORMULAS } from '@/configs/shapes'
@ -106,7 +106,7 @@ export default (
const { addHistorySnapshot } = useHistorySnapshot() const { addHistorySnapshot } = useHistorySnapshot()
// 缩放元素 // 缩放元素
const scaleElement = (e: MouseEvent, element: Exclude<PPTElement, PPTLineElement>, command: OperateResizeHandler) => { const scaleElement = (e: MouseEvent, element: Exclude<PPTElement, PPTLineElement>, command: OperateResizeHandlers) => {
let isMouseDown = true let isMouseDown = true
mainStore.setScalingState(true) mainStore.setScalingState(true)
@ -423,7 +423,7 @@ export default (
} }
// 多选元素缩放 // 多选元素缩放
const scaleMultiElement = (e: MouseEvent, range: MultiSelectRange, command: OperateResizeHandler) => { const scaleMultiElement = (e: MouseEvent, range: MultiSelectRange, command: OperateResizeHandlers) => {
let isMouseDown = true let isMouseDown = true
const { minX, maxX, minY, maxY } = range const { minX, maxX, minY, maxY } = range

View File

@ -38,7 +38,7 @@
<script lang="ts"> <script lang="ts">
import { defineComponent } from 'vue' import { defineComponent } from 'vue'
import { ElementAlignCommand } from '@/types/edit' import { ElementAlignCommands } from '@/types/edit'
import useCombineElement from '@/hooks/useCombineElement' import useCombineElement from '@/hooks/useCombineElement'
import useAlignActiveElement from '@/hooks/useAlignActiveElement' import useAlignActiveElement from '@/hooks/useAlignActiveElement'
import useAlignElementToCanvas from '@/hooks/useAlignElementToCanvas' import useAlignElementToCanvas from '@/hooks/useAlignElementToCanvas'
@ -55,7 +55,7 @@ export default defineComponent({
// //
// //
// //
const alignElement = (command: ElementAlignCommand) => { const alignElement = (command: ElementAlignCommands) => {
if (canCombine.value) alignActiveElement(command) if (canCombine.value) alignActiveElement(command)
else alignElementToCanvas(command) else alignElementToCanvas(command)
} }

View File

@ -19,7 +19,7 @@
import { computed, defineComponent, watch } from 'vue' import { computed, defineComponent, watch } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore } from '@/store' import { useMainStore } from '@/store'
import { ToolbarState, ToolbarStates } from '@/types/toolbar' import { ToolbarStates } from '@/types/toolbar'
import ElementStylePanel from './ElementStylePanel/index.vue' import ElementStylePanel from './ElementStylePanel/index.vue'
import ElementPositionPanel from './ElementPositionPanel.vue' import ElementPositionPanel from './ElementPositionPanel.vue'
@ -31,7 +31,7 @@ import SymbolPanel from './SymbolPanel.vue'
interface ElementTabs { interface ElementTabs {
label: string; label: string;
value: ToolbarState; value: ToolbarStates;
} }
export default defineComponent({ export default defineComponent({
@ -65,7 +65,7 @@ export default defineComponent({
{ label: '样式', value: ToolbarStates.EL_STYLE }, { label: '样式', value: ToolbarStates.EL_STYLE },
] ]
const setToolbarState = (value: ToolbarState) => { const setToolbarState = (value: ToolbarStates) => {
mainStore.setToolbarState(value) mainStore.setToolbarState(value)
} }
@ -76,7 +76,7 @@ export default defineComponent({
}) })
watch(currentTabs, () => { watch(currentTabs, () => {
const currentTabsValue: ToolbarState[] = currentTabs.value.map(tab => tab.value) const currentTabsValue: ToolbarStates[] = currentTabs.value.map(tab => tab.value)
if (!currentTabsValue.includes(toolbarState.value)) { if (!currentTabsValue.includes(toolbarState.value)) {
mainStore.setToolbarState(currentTabsValue[0]) mainStore.setToolbarState(currentTabsValue[0])
} }

View File

@ -70,7 +70,7 @@ import { computed, defineComponent, onMounted, onUnmounted, PropType, reactive,
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore, useKeyboardStore } from '@/store' import { useMainStore, useKeyboardStore } from '@/store'
import { KEYS } from '@/configs/hotkey' import { KEYS } from '@/configs/hotkey'
import { ImageClipData, ImageClipDataRange, ImageClipedEmitData, OperateResizeHandler, OperateResizeHandlers } from '@/types/edit' import { ImageClipData, ImageClipDataRange, ImageClipedEmitData, OperateResizeHandlers } from '@/types/edit'
export default defineComponent({ export default defineComponent({
name: 'image-clip-handler', name: 'image-clip-handler',
@ -330,7 +330,7 @@ export default defineComponent({
} }
// //
const scaleClipRange = (e: MouseEvent, type: OperateResizeHandler) => { const scaleClipRange = (e: MouseEvent, type: OperateResizeHandlers) => {
isSettingClipRange.value = true isSettingClipRange.value = true
let isMouseDown = true let isMouseDown = true