From 5be97ebdc2325ca29828b7053b98345fb8f4f065 Mon Sep 17 00:00:00 2001 From: wcq Date: Fri, 9 Apr 2021 16:14:03 +0800 Subject: [PATCH] =?UTF-8?q?refactor(types):=20=E6=8A=BD=E7=A6=BB=E5=85=83?= =?UTF-8?q?=E7=B4=A0=E5=85=AC=E5=85=B1interface?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/types/slides.ts | 51 +++++++++------------------------------------ 1 file changed, 10 insertions(+), 41 deletions(-) diff --git a/src/types/slides.ts b/src/types/slides.ts index 08c043a5..041a016b 100644 --- a/src/types/slides.ts +++ b/src/types/slides.ts @@ -22,8 +22,7 @@ export interface PPTElementOutline { color?: string; } -export interface PPTTextElement { - type: 'text'; +interface PPTBaseElement { id: string; left: number; top: number; @@ -31,6 +30,10 @@ export interface PPTTextElement { groupId?: string; width: number; height: number; +} + +export interface PPTTextElement extends PPTBaseElement{ + type: 'text'; content: string; rotate?: number; outline?: PPTElementOutline; @@ -58,15 +61,8 @@ export interface ImageElementClip { range: [[number, number], [number, number]]; shape: string; } -export interface PPTImageElement { +export interface PPTImageElement extends PPTBaseElement{ type: 'image'; - id: string; - left: number; - top: number; - lock?: boolean; - groupId?: string; - width: number; - height: number; fixedRatio: boolean; src: string; rotate?: number; @@ -82,15 +78,8 @@ export interface ShapeGradient { color: [string, string]; rotate: number; } -export interface PPTShapeElement { +export interface PPTShapeElement extends PPTBaseElement{ type: 'shape'; - id: string; - left: number; - top: number; - lock?: boolean; - groupId?: string; - width: number; - height: number; viewBox: number; path: string; fixedRatio: boolean; @@ -103,16 +92,10 @@ export interface PPTShapeElement { shadow?: PPTElementShadow; } -export interface PPTLineElement { +export interface PPTLineElement extends Omit{ type: 'line'; - id: string; - left: number; - top: number; - lock?: boolean; - groupId?: string; start: [number, number]; end: [number, number]; - width: number; style: string; color: string; points: [string, string]; @@ -126,15 +109,8 @@ export interface ChartData { labels: string[]; series: number[][]; } -export interface PPTChartElement { +export interface PPTChartElement extends PPTBaseElement{ type: 'chart'; - id: string; - left: number; - top: number; - lock?: boolean; - groupId?: string; - width: number; - height: number; fill?: string; chartType: ChartType; data: ChartData; @@ -169,15 +145,8 @@ export interface TableTheme { colHeader: boolean; colFooter: boolean; } -export interface PPTTableElement { +export interface PPTTableElement extends PPTBaseElement{ type: 'table'; - id: string; - left: number; - top: number; - lock?: boolean; - groupId?: string; - width: number; - height: number; outline: PPTElementOutline; theme?: TableTheme; colWidths: number[];