From 6b1336fc1a2866a59a3ab6979cd4e8919eb224c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E4=BA=91=E9=A3=9E?= Date: Tue, 29 Mar 2022 18:12:14 +0800 Subject: [PATCH] feat:add control interface --- src/editor/core/draw/control/Control.ts | 3 +++ .../core/draw/control/select/SelectControl.ts | 3 +++ src/editor/core/draw/control/text/TextControl.ts | 3 +++ src/editor/dataset/enum/Control.ts | 4 ++++ src/editor/dataset/enum/Element.ts | 3 ++- src/editor/interface/Control.ts | 15 +++++++++++++++ src/editor/interface/Element.ts | 2 ++ 7 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 src/editor/core/draw/control/Control.ts create mode 100644 src/editor/core/draw/control/select/SelectControl.ts create mode 100644 src/editor/core/draw/control/text/TextControl.ts create mode 100644 src/editor/dataset/enum/Control.ts create mode 100644 src/editor/interface/Control.ts diff --git a/src/editor/core/draw/control/Control.ts b/src/editor/core/draw/control/Control.ts new file mode 100644 index 0000000..db7fd68 --- /dev/null +++ b/src/editor/core/draw/control/Control.ts @@ -0,0 +1,3 @@ +export class Control { + +} \ No newline at end of file diff --git a/src/editor/core/draw/control/select/SelectControl.ts b/src/editor/core/draw/control/select/SelectControl.ts new file mode 100644 index 0000000..e3608fa --- /dev/null +++ b/src/editor/core/draw/control/select/SelectControl.ts @@ -0,0 +1,3 @@ +export class SelectControl { + +} \ No newline at end of file diff --git a/src/editor/core/draw/control/text/TextControl.ts b/src/editor/core/draw/control/text/TextControl.ts new file mode 100644 index 0000000..11ae793 --- /dev/null +++ b/src/editor/core/draw/control/text/TextControl.ts @@ -0,0 +1,3 @@ +export class TextControl { + +} \ No newline at end of file diff --git a/src/editor/dataset/enum/Control.ts b/src/editor/dataset/enum/Control.ts new file mode 100644 index 0000000..2693e3c --- /dev/null +++ b/src/editor/dataset/enum/Control.ts @@ -0,0 +1,4 @@ +export enum ControlType { + TEXT = 'text', + SELECT = 'select' +} \ No newline at end of file diff --git a/src/editor/dataset/enum/Element.ts b/src/editor/dataset/enum/Element.ts index 5c586a9..07c379e 100644 --- a/src/editor/dataset/enum/Element.ts +++ b/src/editor/dataset/enum/Element.ts @@ -6,5 +6,6 @@ export enum ElementType { SUPERSCRIPT = 'superscript', SUBSCRIPT = 'subscript', SEPARATOR = 'separator', - PAGE_BREAK = 'pageBreak' + PAGE_BREAK = 'pageBreak', + CONTROL = 'control' } \ No newline at end of file diff --git a/src/editor/interface/Control.ts b/src/editor/interface/Control.ts new file mode 100644 index 0000000..2f110e1 --- /dev/null +++ b/src/editor/interface/Control.ts @@ -0,0 +1,15 @@ +import { ControlType } from '../dataset/enum/Control' + +export interface IValueSet { + value: string; + code: string; +} + +export interface IControl { + type: ControlType; + value: string; + conceptId: string; + prefix?: string; + postfix?: string; + valueSets?: IValueSet[] +} \ No newline at end of file diff --git a/src/editor/interface/Element.ts b/src/editor/interface/Element.ts index 7a6405c..bdde96c 100644 --- a/src/editor/interface/Element.ts +++ b/src/editor/interface/Element.ts @@ -1,5 +1,6 @@ import { ElementType } from '../dataset/enum/Element' import { RowFlex } from '../dataset/enum/Row' +import { IControl } from './Control' import { IColgroup } from './table/Colgroup' import { ITr } from './table/Tr' @@ -57,6 +58,7 @@ export type IElement = IElementBasic & IHyperlinkElement & ISuperscriptSubscript & ISeparator + & { control?: IControl } export interface IElementMetrics { width: number;