diff --git a/source/Context/Popups.ts b/source/Context/Popups.ts index e5e4cd6..5ee7767 100644 --- a/source/Context/Popups.ts +++ b/source/Context/Popups.ts @@ -1,7 +1,7 @@ import { ReactNode, createElement } from "react"; import { Emitter } from "@Model/Emitter"; import { Localization } from "@Component/Localization/Localization"; -import { IAnyObject } from "@Model/Renderer"; +import { IAnyObject } from "@Model/Model"; enum ResizeDragDirection { top = 1, diff --git a/source/GLRender/BasicRenderer.ts b/source/GLRender/BasicRenderer.ts index 661c6cf..855e0dd 100644 --- a/source/GLRender/BasicRenderer.ts +++ b/source/GLRender/BasicRenderer.ts @@ -1,4 +1,5 @@ -import { AbstractRenderer, IRendererParam, IAnyObject } from "@Model/Renderer"; +import { AbstractRenderer, IRendererParam } from "@Model/Renderer"; +import { IAnyObject } from "@Model/Model"; import { EventType } from "@Model/Emitter"; import { GLCanvas, GLCanvasOption } from "./GLCanvas"; import { GLContext } from "./GLContext"; diff --git a/source/GLRender/ClassicRenderer.ts b/source/GLRender/ClassicRenderer.ts index 29dc2b7..426f2b1 100644 --- a/source/GLRender/ClassicRenderer.ts +++ b/source/GLRender/ClassicRenderer.ts @@ -1,4 +1,5 @@ -import { ObjectID, ObjectData, ICommonParam } from "@Model/Renderer"; +import { ObjectData, ICommonParam } from "@Model/Renderer"; +import { ObjectID } from "@Model/Model"; import { BasicRenderer } from "./BasicRenderer"; import { BasicsShader } from "./BasicShader"; import { Axis } from "./Axis"; diff --git a/source/Input/AttrInput/AttrInput.tsx b/source/Input/AttrInput/AttrInput.tsx index 575f93c..26f0853 100644 --- a/source/Input/AttrInput/AttrInput.tsx +++ b/source/Input/AttrInput/AttrInput.tsx @@ -1,7 +1,7 @@ import { Component, ReactNode } from "react"; import { Icon } from "@fluentui/react"; import { AllI18nKeys } from "@Component/Localization/Localization"; -import { ObjectID } from "@Model/Renderer"; +import { ObjectID } from "@Model/Model"; import { TextField, ITextFieldProps } from "@Input/TextField/TextField"; import "./AttrInput.scss"; diff --git a/source/Input/Parameter/Parameter.tsx b/source/Input/Parameter/Parameter.tsx index deb6c4b..9ae2368 100644 --- a/source/Input/Parameter/Parameter.tsx +++ b/source/Input/Parameter/Parameter.tsx @@ -1,7 +1,7 @@ import { Component, Fragment, ReactNode } from "react"; import { useSettingWithEvent, IMixinSettingProps, Language } from "@Context/Setting"; import { AttrInput } from "@Input/AttrInput/AttrInput"; -import { ObjectID } from "@Model/Renderer"; +import { ObjectID } from "@Model/Model"; import { TogglesInput } from "@Input/TogglesInput/TogglesInput"; import { ObjectPicker } from "@Input/ObjectPicker/ObjectPicker"; import { AllI18nKeys, I18N } from "@Component/Localization/Localization"; diff --git a/source/Model/CtrlObject.ts b/source/Model/CtrlObject.ts index 5faa7e1..b9d5eaf 100644 --- a/source/Model/CtrlObject.ts +++ b/source/Model/CtrlObject.ts @@ -1,6 +1,6 @@ import { LabelObject } from "@Model/Label" import type { Model } from "@Model/Model"; -import type { ObjectID } from "@Model/Renderer"; +import type { ObjectID } from "@Model/Model"; /** * 可控对象 diff --git a/source/Model/Individual.ts b/source/Model/Individual.ts index 8f84077..2685dfa 100644 --- a/source/Model/Individual.ts +++ b/source/Model/Individual.ts @@ -1,5 +1,5 @@ import type { Group } from "@Model/Group"; -import { ObjectID } from "@Model/Renderer"; +import { ObjectID } from "@Model/Model"; /** * 群中的个体类型 diff --git a/source/Model/Label.ts b/source/Model/Label.ts index 21ae946..cd1f31f 100644 --- a/source/Model/Label.ts +++ b/source/Model/Label.ts @@ -1,5 +1,4 @@ -import type { Model } from "@Model/Model"; -import { ObjectID } from "@Model/Renderer"; +import type { Model, ObjectID } from "@Model/Model"; /** * 数据标签 diff --git a/source/Model/Model.ts b/source/Model/Model.ts index 5b15d85..f8bf940 100644 --- a/source/Model/Model.ts +++ b/source/Model/Model.ts @@ -5,9 +5,19 @@ import { IParamValue } from "@Model/Parameter"; import { Individual } from "@Model/Individual"; import { CtrlObject } from "@Model/CtrlObject"; import { Emitter, EventType, EventMixin } from "@Model/Emitter"; -import { ObjectID, AbstractRenderer } from "@Model/Renderer"; +import { AbstractRenderer } from "@Model/Renderer"; import { Behavior, IAnyBehavior, IAnyBehaviorRecorder } from "@Model/Behavior"; +/** + * 对象标识符 + */ +type ObjectID = string; + +/** + * 任意类型对象 + */ +type IAnyObject = Record; + type ModelEvent = { labelChange: Label[]; objectChange: CtrlObject[]; @@ -376,5 +386,6 @@ export { EventMixin, Model, CtrlObject, - ObjectID + ObjectID, + IAnyObject } \ No newline at end of file diff --git a/source/Model/Renderer.ts b/source/Model/Renderer.ts index 2c9ee64..be157c5 100644 --- a/source/Model/Renderer.ts +++ b/source/Model/Renderer.ts @@ -1,9 +1,5 @@ import { Emitter, EventType } from "@Model/Emitter"; - -/** - * 任意类型对象 - */ -type IAnyObject = Record; +import { IAnyObject, ObjectID } from "@Model/Model"; /** * 渲染器参数 @@ -32,10 +28,7 @@ interface ICommonParam { color?: ObjectData; } -/** - * 对象标识符 - */ -type ObjectID = string; + /** * 接收的数据类型 @@ -125,7 +118,6 @@ abstract class AbstractRenderer< export default AbstractRenderer; export { - AbstractRenderer, ObjectID, IAnyObject, - ICommonParam, IRendererParam, + AbstractRenderer, ICommonParam, IRendererParam, ObjectData, IRendererConstructor }; \ No newline at end of file diff --git a/source/Panel/GroupDetails/GroupDetails.tsx b/source/Panel/GroupDetails/GroupDetails.tsx index 51d94c2..495daf2 100644 --- a/source/Panel/GroupDetails/GroupDetails.tsx +++ b/source/Panel/GroupDetails/GroupDetails.tsx @@ -4,7 +4,7 @@ import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; import { useSetting, IMixinSettingProps } from "@Context/Setting"; import { ComboInput, IDisplayItem } from "@Input/ComboInput/ComboInput"; import { Message } from "@Input/Message/Message"; -import { ObjectID } from "@Model/Renderer"; +import { ObjectID } from "@Model/Model"; import { ColorInput } from "@Input/ColorInput/ColorInput"; import { TogglesInput } from "@Input/TogglesInput/TogglesInput"; import { LabelPicker } from "@Input/LabelPicker/LabelPicker"; diff --git a/source/Panel/ObjectList/ObjectCommand.tsx b/source/Panel/ObjectList/ObjectCommand.tsx index 97b856c..ff65e1d 100644 --- a/source/Panel/ObjectList/ObjectCommand.tsx +++ b/source/Panel/ObjectList/ObjectCommand.tsx @@ -2,7 +2,7 @@ import { Component, ReactNode } from "react"; import { BackgroundLevel, FontLevel, Theme } from "@Component/Theme/Theme"; import { useStatus, IMixinStatusProps } from "@Context/Status"; import { ConfirmPopup } from "@Component/ConfirmPopup/ConfirmPopup"; -import { ObjectID } from "@Model/Renderer"; +import { ObjectID } from "@Model/Model"; import { Icon } from "@fluentui/react"; import "./ObjectList.scss"; diff --git a/source/Panel/ObjectList/ObjectList.tsx b/source/Panel/ObjectList/ObjectList.tsx index 22a39aa..7961d26 100644 --- a/source/Panel/ObjectList/ObjectList.tsx +++ b/source/Panel/ObjectList/ObjectList.tsx @@ -3,7 +3,7 @@ import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; import { useSetting, IMixinSettingProps } from "@Context/Setting"; import { Localization } from "@Component/Localization/Localization"; import { DetailsList } from "@Component/DetailsList/DetailsList"; -import { ObjectID } from "@Model/Renderer"; +import { ObjectID } from "@Model/Model"; import { Icon } from "@fluentui/react"; import "./ObjectList.scss"; diff --git a/source/Panel/RangeDetails/RangeDetails.tsx b/source/Panel/RangeDetails/RangeDetails.tsx index 81fe910..e2f0e2a 100644 --- a/source/Panel/RangeDetails/RangeDetails.tsx +++ b/source/Panel/RangeDetails/RangeDetails.tsx @@ -3,7 +3,7 @@ import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; import { AttrInput } from "@Input/AttrInput/AttrInput"; import { Message } from "@Input/Message/Message"; import { Range } from "@Model/Range"; -import { ObjectID } from "@Model/Renderer"; +import { ObjectID } from "@Model/Model"; import { ColorInput } from "@Input/ColorInput/ColorInput"; import { TogglesInput } from "@Input/TogglesInput/TogglesInput"; import { LabelPicker } from "@Input/LabelPicker/LabelPicker";