Mod boundary constraint func & Separate parameter model & Add parameter component #36
| @ -1,8 +1,8 @@ | ||||
| import { BehaviorRecorder, IAnyBehaviorRecorder } from "@Model/Behavior"; | ||||
| import { Template } from "./Template"; | ||||
| import { Dynamics } from "./Dynamics"; | ||||
| import { Brownian } from "./Brownian"; | ||||
| import { BoundaryConstraint } from "./BoundaryConstraint";  | ||||
| import { Template } from "@Behavior/Template"; | ||||
| import { Dynamics } from "@Behavior/Dynamics"; | ||||
| import { Brownian } from "@Behavior/Brownian"; | ||||
| import { BoundaryConstraint } from "@Behavior/BoundaryConstraint"; | ||||
| 
 | ||||
| const AllBehaviors: IAnyBehaviorRecorder[] = [ | ||||
|     new BehaviorRecorder(Template), | ||||
|  | ||||
| @ -1,11 +1,13 @@ | ||||
| import { Theme } from "@Component/Theme/Theme"; | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { IRenderBehavior, Behavior, BehaviorRecorder } from "@Model/Behavior"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { useSettingWithEvent, IMixinSettingProps } from "@Context/Setting"; | ||||
| import { useStatus, IMixinStatusProps } from "@Context/Status"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { IRenderBehavior, Behavior, BehaviorRecorder } from "@Model/Behavior"; | ||||
| import { Theme } from "@Component/Theme/Theme"; | ||||
| import { ConfirmPopup } from "@Component/ConfirmPopup/ConfirmPopup"; | ||||
| import { Message } from "@Component/Message/Message"; | ||||
| import { Message } from "@Input/Message/Message"; | ||||
| 
 | ||||
| 
 | ||||
| import "./BehaviorList.scss"; | ||||
| 
 | ||||
| interface IBehaviorListProps { | ||||
|  | ||||
| @ -1,15 +1,15 @@ | ||||
| import { Component, ReactNode, Fragment } from "react"; | ||||
| import { Popup } from "@Context/Popups"; | ||||
| import { useStatus, IMixinStatusProps, randomColor } from "@Context/Status"; | ||||
| import { useSettingWithEvent, IMixinSettingProps } from "@Context/Setting"; | ||||
| import { Localization } from "@Component/Localization/Localization"; | ||||
| import { SearchBox } from "@Component/SearchBox/SearchBox"; | ||||
| import { SearchBox } from "@Input/SearchBox/SearchBox"; | ||||
| import { ConfirmContent } from "@Component/ConfirmPopup/ConfirmPopup"; | ||||
| import { BehaviorList } from "@Component/BehaviorList/BehaviorList"; | ||||
| import { AllBehaviorsWithCategory, ICategoryBehavior } from "@Behavior/Behavior"; | ||||
| import { Message } from "@Component/Message/Message"; | ||||
| import { Message } from "@Input/Message/Message"; | ||||
| import { IRenderBehavior, BehaviorRecorder } from "@Model/Behavior"; | ||||
| import { useStatus, IMixinStatusProps, randomColor } from "@Context/Status"; | ||||
| import { useSettingWithEvent, IMixinSettingProps } from "@Context/Setting"; | ||||
| import { ConfirmPopup } from "@Component/ConfirmPopup/ConfirmPopup"; | ||||
| 
 | ||||
| import "./BehaviorPopup.scss"; | ||||
| 
 | ||||
| interface IBehaviorPopupProps { | ||||
|  | ||||
| @ -1,12 +1,12 @@ | ||||
| import { BackgroundLevel, Theme } from "@Component/Theme/Theme"; | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { DirectionalHint, IconButton } from "@fluentui/react"; | ||||
| import { LocalizationTooltipHost } from "../Localization/LocalizationTooltipHost"; | ||||
| import { useSetting, IMixinSettingProps } from "@Context/Setting"; | ||||
| import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; | ||||
| import { AllI18nKeys } from "../Localization/Localization"; | ||||
| import { SettingPopup } from "../SettingPopup/SettingPopup"; | ||||
| import { BehaviorPopup } from "../BehaviorPopup/BehaviorPopup"; | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { BackgroundLevel, Theme } from "@Component/Theme/Theme"; | ||||
| import { LocalizationTooltipHost } from "@Component/Localization/LocalizationTooltipHost"; | ||||
| import { AllI18nKeys } from "@Component/Localization/Localization"; | ||||
| import { SettingPopup } from "@Component/SettingPopup/SettingPopup"; | ||||
| import { BehaviorPopup } from "@Component/BehaviorPopup/BehaviorPopup"; | ||||
| import { MouseMod } from "@GLRender/ClassicRenderer"; | ||||
| import "./CommandBar.scss"; | ||||
| 
 | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| import { Popup } from "@Context/Popups"; | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { Message } from "@Component/Message/Message"; | ||||
| import { Popup } from "@Context/Popups"; | ||||
| import { Message } from "@Input/Message/Message"; | ||||
| import { Theme } from "@Component/Theme/Theme"; | ||||
| import { AllI18nKeys, Localization } from "@Component/Localization/Localization"; | ||||
| import "./ConfirmPopup.scss"; | ||||
|  | ||||
| @ -1,11 +1,11 @@ | ||||
| import { Localization } from "@Component/Localization/Localization"; | ||||
| import { Theme, BackgroundLevel, FontLevel } from "@Component/Theme/Theme"; | ||||
| import { Themes } from "@Context/Setting"; | ||||
| import { DirectionalHint } from "@fluentui/react"; | ||||
| import { ILayout, LayoutDirection } from "@Context/Layout"; | ||||
| import { Component, ReactNode, MouseEvent } from "react"; | ||||
| import { getPanelById, getPanelInfoById } from "../../Panel/Panel"; | ||||
| import { LocalizationTooltipHost } from "../Localization/LocalizationTooltipHost"; | ||||
| import { DirectionalHint } from "@fluentui/react"; | ||||
| import { Themes } from "@Context/Setting"; | ||||
| import { ILayout, LayoutDirection } from "@Context/Layout"; | ||||
| import { Localization } from "@Component/Localization/Localization"; | ||||
| import { BackgroundLevel, FontLevel } from "@Component/Theme/Theme"; | ||||
| import { getPanelById, getPanelInfoById } from "@Panel/Panel"; | ||||
| import { LocalizationTooltipHost } from "@Component/Localization/LocalizationTooltipHost"; | ||||
| import "./Container.scss"; | ||||
| 
 | ||||
| interface IContainerProps extends ILayout { | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { BackgroundLevel, FontLevel, Theme } from "../Theme/Theme"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { BackgroundLevel, FontLevel, Theme } from "@Component/Theme/Theme"; | ||||
| import "./DetailsList.scss"; | ||||
| 
 | ||||
| type IItems = Record<string, any> & {key: string, select?: boolean}; | ||||
|  | ||||
| @ -1,12 +1,11 @@ | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { Icon } from '@fluentui/react/lib/Icon'; | ||||
| import { useStatus, IMixinStatusProps } from "@Context/Status"; | ||||
| import { useSetting, IMixinSettingProps } from "@Context/Setting"; | ||||
| import { Theme, BackgroundLevel, FontLevel } from "@Component/Theme/Theme"; | ||||
| import { Icon } from '@fluentui/react/lib/Icon'; | ||||
| import { LocalizationTooltipHost } from "../Localization/LocalizationTooltipHost"; | ||||
| import { I18N } from "../Localization/Localization"; | ||||
| import { LocalizationTooltipHost } from "@Component/Localization/LocalizationTooltipHost"; | ||||
| import { I18N } from "@Component/Localization/Localization"; | ||||
| import "./HeaderBar.scss"; | ||||
| import { Tooltip, TooltipHost } from "@fluentui/react"; | ||||
| 
 | ||||
| interface IHeaderBarProps { | ||||
|     height: number; | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| import { Component, RefObject } from "react"; | ||||
| import { Label } from "@Model/Label"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { useSetting, IMixinSettingProps, Themes } from "@Context/Setting"; | ||||
| import { Label } from "@Model/Label"; | ||||
| import "./LabelList.scss"; | ||||
| 
 | ||||
| interface ILabelListProps { | ||||
|  | ||||
| @ -1,9 +1,9 @@ | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { IMixinStatusProps, useStatusWithEvent } from "@Context/Status"; | ||||
| import { IMixinSettingProps, useSettingWithEvent } from "@Context/Setting"; | ||||
| import { BackgroundLevel, FontLevel, getClassList, Theme } from "@Component/Theme/Theme"; | ||||
| import { Popup as PopupModel, ResizeDragDirection } from "@Context/Popups"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import "./Popup.scss"; | ||||
| 
 | ||||
| interface IPopupProps {} | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| import { useSettingWithEvent, Themes, IMixinSettingProps, Setting } from "@Context/Setting"; | ||||
| import { Component, ReactNode, DetailedHTMLProps, HTMLAttributes } from "react"; | ||||
| import { useSettingWithEvent, Themes, IMixinSettingProps, Setting } from "@Context/Setting"; | ||||
| import "./Theme.scss"; | ||||
| 
 | ||||
| enum FontLevel { | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| import { Emitter, EventType } from "@Model/Emitter"; | ||||
| import { Component, FunctionComponent, ReactNode, Consumer } from "react"; | ||||
| import { Emitter, EventType } from "@Model/Emitter"; | ||||
| 
 | ||||
| type RenderComponent = (new (...p: any) => Component<any, any, any>) | FunctionComponent<any>; | ||||
| 
 | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| import { createContext } from "react"; | ||||
| import { superConnect, superConnectWithEvent } from "./Context"; | ||||
| import { superConnect, superConnectWithEvent } from "@Context/Context"; | ||||
| import { Emitter } from "@Model/Emitter"; | ||||
| import { Layout } from "./Layout"; | ||||
| import { Layout } from "@Context/Layout"; | ||||
| 
 | ||||
| /** | ||||
|  * 主题模式 | ||||
|  | ||||
| @ -7,10 +7,10 @@ import { Group } from "@Model/Group"; | ||||
| import { Archive } from "@Model/Archive"; | ||||
| import { AbstractRenderer } from "@Model/Renderer"; | ||||
| import { ClassicRenderer, MouseMod } from "@GLRender/ClassicRenderer"; | ||||
| import { Setting } from "./Setting"; | ||||
| import { Setting } from "@Context/Setting"; | ||||
| import { I18N } from "@Component/Localization/Localization"; | ||||
| import { superConnectWithEvent, superConnect } from "./Context"; | ||||
| import { PopupController } from "./Popups"; | ||||
| import { superConnectWithEvent, superConnect } from "@Context/Context"; | ||||
| import { PopupController } from "@Context/Popups"; | ||||
| import { Behavior } from "@Model/Behavior"; | ||||
| import { IParameter, IParamValue } from "@Model/Parameter"; | ||||
| import { Actuator } from "@Model/Actuator"; | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| @import "../Theme/Theme.scss"; | ||||
| @import "../../Component/Theme/Theme.scss"; | ||||
| 
 | ||||
| $line-min-height: 24px; | ||||
| 
 | ||||
| @ -1,8 +1,8 @@ | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { Localization, AllI18nKeys } from "@Component/Localization/Localization"; | ||||
| import { AllI18nKeys } from "@Component/Localization/Localization"; | ||||
| import { ObjectID } from "@Model/Renderer"; | ||||
| import { TextField, ITextFieldProps } from "../TextField/TextField"; | ||||
| import { TextField, ITextFieldProps } from "@Input/TextField/TextField"; | ||||
| import "./AttrInput.scss"; | ||||
| 
 | ||||
| interface IAttrInputProps extends ITextFieldProps { | ||||
| @ -1,4 +1,4 @@ | ||||
| @import "../Theme/Theme.scss"; | ||||
| @import "../../Component/Theme/Theme.scss"; | ||||
| 
 | ||||
| div.behavior-picker-list { | ||||
|     width: 100%; | ||||
| @ -1,11 +1,11 @@ | ||||
| import { DetailsList } from "@Component/DetailsList/DetailsList"; | ||||
| import { Component, ReactNode, createRef } from "react"; | ||||
| import { Behavior } from "@Model/Behavior"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { Behavior } from "@Model/Behavior"; | ||||
| import { useSettingWithEvent, IMixinSettingProps } from "@Context/Setting"; | ||||
| import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; | ||||
| import { DetailsList } from "@Component/DetailsList/DetailsList"; | ||||
| import { Localization } from "@Component/Localization/Localization"; | ||||
| import { PickerList } from "@Component/PickerList/PickerList"; | ||||
| import { PickerList } from "@Input/PickerList/PickerList"; | ||||
| import "./BehaviorPicker.scss"; | ||||
| 
 | ||||
| interface IBehaviorPickerProps { | ||||
| @ -1,6 +1,6 @@ | ||||
| import { Component, createRef, ReactNode } from "react"; | ||||
| import { TextField, ITextFieldProps } from "@Component/TextField/TextField"; | ||||
| import { Callout, ColorPicker, DirectionalHint } from "@fluentui/react"; | ||||
| import { TextField, ITextFieldProps } from "@Input/TextField/TextField"; | ||||
| import "./ColorInput.scss"; | ||||
| 
 | ||||
| interface IColorInputProps extends ITextFieldProps { | ||||
| @ -1,4 +1,4 @@ | ||||
| @import "../Theme/Theme.scss"; | ||||
| @import "../../Component/Theme/Theme.scss"; | ||||
| 
 | ||||
| $line-min-height: 24px; | ||||
| 
 | ||||
| @ -1,7 +1,7 @@ | ||||
| import { Component, createRef, ReactNode } from "react"; | ||||
| import { PickerList, IDisplayItem } from "../PickerList/PickerList"; | ||||
| import { TextField, ITextFieldProps } from "../TextField/TextField"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { PickerList, IDisplayItem } from "@Input/PickerList/PickerList"; | ||||
| import { TextField, ITextFieldProps } from "@Input/TextField/TextField"; | ||||
| import { Localization } from "@Component/Localization/Localization"; | ||||
| import "./ComboInput.scss"; | ||||
| interface IComboInputProps extends ITextFieldProps { | ||||
| @ -1,4 +1,4 @@ | ||||
| @import "../Theme/Theme.scss"; | ||||
| @import "../../Component/Theme/Theme.scss"; | ||||
| 
 | ||||
| $line-min-height: 26px; | ||||
| 
 | ||||
| @ -1,9 +1,9 @@ | ||||
| import { PickerList } from "../PickerList/PickerList"; | ||||
| import { Label } from "@Model/Label"; | ||||
| import { TextField, ITextFieldProps } from "../TextField/TextField"; | ||||
| import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; | ||||
| import { Component, ReactNode, createRef } from "react"; | ||||
| import { LabelList } from "../LabelList/LabelList"; | ||||
| import { Label } from "@Model/Label"; | ||||
| import { PickerList } from "@Input/PickerList/PickerList"; | ||||
| import { TextField, ITextFieldProps } from "@Input/TextField/TextField"; | ||||
| import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; | ||||
| import { LabelList } from "@Component/LabelList/LabelList"; | ||||
| import "./LabelPicker.scss" | ||||
| 
 | ||||
| interface ILabelPickerProps extends ITextFieldProps { | ||||
| @ -1,6 +1,6 @@ | ||||
| import { FunctionComponent } from "react"; | ||||
| import { AllI18nKeys, I18N } from "@Component/Localization/Localization"; | ||||
| import { useSettingWithEvent, IMixinSettingProps, Themes, Language } from "@Context/Setting"; | ||||
| import { FunctionComponent } from "react"; | ||||
| import "./Message.scss"; | ||||
| 
 | ||||
| interface IMessageProps { | ||||
| @ -1,4 +1,4 @@ | ||||
| @import "../Theme/Theme.scss"; | ||||
| @import "../../Component/Theme/Theme.scss"; | ||||
| @import "../PickerList/RainbowBg.scss"; | ||||
| 
 | ||||
| $line-min-height: 24px; | ||||
| @ -1,14 +1,14 @@ | ||||
| import { Component, createRef, ReactNode } from "react"; | ||||
| import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; | ||||
| import { Label } from "@Model/Label"; | ||||
| import { Group } from "@Model/Group"; | ||||
| import { Range } from "@Model/Range"; | ||||
| import { TextField, ITextFieldProps } from "../TextField/TextField"; | ||||
| import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; | ||||
| import { PickerList, IDisplayItem, getObjectDisplayInfo, IDisplayInfo } from "../PickerList/PickerList"; | ||||
| import { Localization } from "@Component/Localization/Localization"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { CtrlObject } from "@Model/CtrlObject"; | ||||
| import { Behavior } from "@Model/Behavior"; | ||||
| import { TextField, ITextFieldProps } from "@Input/TextField/TextField"; | ||||
| import { PickerList, IDisplayItem, getObjectDisplayInfo, IDisplayInfo } from "@Input/PickerList/PickerList"; | ||||
| import { Localization } from "@Component/Localization/Localization"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import "./ObjectPicker.scss"; | ||||
| 
 | ||||
| type IObjectType = Label | Group | Range | CtrlObject; | ||||
| @ -1,15 +1,15 @@ | ||||
| import { AttrInput } from "@Component/AttrInput/AttrInput"; | ||||
| 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 { TogglesInput } from "@Input/TogglesInput/TogglesInput"; | ||||
| import { ObjectPicker } from "@Input/ObjectPicker/ObjectPicker"; | ||||
| import { AllI18nKeys } from "@Component/Localization/Localization"; | ||||
| import { Message } from "@Input/Message/Message"; | ||||
| import { | ||||
|     IParameter, IParameterOption, IParameterOptionItem, | ||||
|     IParameterValue, IParamValue, isObjectType, isVectorType | ||||
| } from "@Model/Parameter"; | ||||
| import { ObjectID } from "@Model/Renderer"; | ||||
| import { Component, Fragment, ReactNode } from "react"; | ||||
| import { TogglesInput } from "@Component/TogglesInput/TogglesInput"; | ||||
| import { ObjectPicker } from "@Component/ObjectPicker/ObjectPicker"; | ||||
| import { useSettingWithEvent, IMixinSettingProps, Language } from "@Context/Setting"; | ||||
| import { AllI18nKeys } from "@Component/Localization/Localization"; | ||||
| import { Message } from "@Component/Message/Message"; | ||||
| import "./Parameter.scss"; | ||||
| 
 | ||||
| interface IParameterProps<P extends IParameter = {}> { | ||||
| @ -1,4 +1,4 @@ | ||||
| @import "../Theme/Theme.scss"; | ||||
| @import "../../Component/Theme/Theme.scss"; | ||||
| 
 | ||||
| $search-box-height: 26px; | ||||
| 
 | ||||
| @ -1,8 +1,8 @@ | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { AllI18nKeys, I18N } from "@Component/Localization/Localization"; | ||||
| import { BackgroundLevel, FontLevel, Theme } from "@Component/Theme/Theme"; | ||||
| import { useSettingWithEvent, IMixinSettingProps } from "@Context/Setting"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { Component, ReactNode } from "react"; | ||||
| import "./SearchBox.scss"; | ||||
| 
 | ||||
| interface ISearchBoxProps { | ||||
| @ -1,4 +1,4 @@ | ||||
| @import "../Theme/Theme.scss"; | ||||
| @import "../../Component/Theme/Theme.scss"; | ||||
| 
 | ||||
| $line-min-height: 26px; | ||||
| 
 | ||||
| @ -1,4 +1,4 @@ | ||||
| @import "../Theme/Theme.scss"; | ||||
| @import "../../Component/Theme/Theme.scss"; | ||||
| 
 | ||||
| $line-min-height: 26px; | ||||
| 
 | ||||
| @ -1,6 +1,6 @@ | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { TextField, ITextFieldProps } from "../TextField/TextField"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| import { TextField, ITextFieldProps } from "@Input/TextField/TextField"; | ||||
| import "./TogglesInput.scss"; | ||||
| 
 | ||||
| interface ITogglesInputProps extends ITextFieldProps { | ||||
| @ -1,5 +1,5 @@ | ||||
| import { Model } from "./Model"; | ||||
| import { Emitter } from "./Emitter";  | ||||
| import { Model } from "@Model/Model"; | ||||
| import { Emitter } from "@Model/Emitter"; | ||||
| 
 | ||||
| interface IActuatorEvent { | ||||
| 	startChange: boolean; | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| import { Emitter, EventType, EventMixin } from "./Emitter"; | ||||
| import { Emitter, EventType } from "@Model/Emitter"; | ||||
| 
 | ||||
| interface IArchiveEvent { | ||||
|     save: Archive; | ||||
|  | ||||
| @ -1,11 +1,8 @@ | ||||
| import { Emitter, EventType } from "./Emitter"; | ||||
| import type { Individual } from "./Individual"; | ||||
| import type { Group } from "./Group"; | ||||
| import type { Model } from "./Model"; | ||||
| import { | ||||
|     IParamValue, isObjectType, isVectorType, getDefaultValue, | ||||
|     IParameterOptionItem, IParameter, IParameterOption, IParameterValue | ||||
| } from "./Parameter"; | ||||
| import { Emitter, EventType } from "@Model/Emitter"; | ||||
| import type { Individual } from "@Model/Individual"; | ||||
| import type { Group } from "@Model/Group"; | ||||
| import type { Model } from "@Model/Model"; | ||||
| import { getDefaultValue, IParameter, IParameterOption, IParameterValue } from "@Model/Parameter"; | ||||
| 
 | ||||
| /** | ||||
|  * 行为构造函数类型 | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| import { LabelObject } from "./Label" | ||||
| import type { Model } from "./Model"; | ||||
| import type { ObjectID } from "./Renderer"; | ||||
| import { LabelObject } from "@Model/Label" | ||||
| import type { Model } from "@Model/Model"; | ||||
| import type { ObjectID } from "@Model/Renderer"; | ||||
| 
 | ||||
| /** | ||||
|  * 可控对象 | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| import { Individual } from "./Individual"; | ||||
| import { CtrlObject } from "./CtrlObject"; | ||||
| import type { Behavior } from "./Behavior";  | ||||
| import { Label } from "./Label"; | ||||
| import { Range } from "./Range"; | ||||
| import { Individual } from "@Model/Individual"; | ||||
| import { CtrlObject } from "@Model/CtrlObject"; | ||||
| import type { Behavior } from "@Model/Behavior";  | ||||
| import { Label } from "@Model/Label"; | ||||
| import { Range } from "@Model/Range"; | ||||
| 
 | ||||
| enum GenMod { | ||||
|     Point = "p", | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| import type { Group } from "./Group"; | ||||
| import { ObjectID } from "./Renderer"; | ||||
| import type { Group } from "@Model/Group"; | ||||
| import { ObjectID } from "@Model/Renderer"; | ||||
| 
 | ||||
| /** | ||||
|  * 群中的个体类型 | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| import type { Model } from "./Model"; | ||||
| import { ObjectID } from "./Renderer"; | ||||
| import type { Model } from "@Model/Model"; | ||||
| import { ObjectID } from "@Model/Renderer"; | ||||
| 
 | ||||
| /** | ||||
|  * 数据标签 | ||||
|  | ||||
| @ -1,12 +1,12 @@ | ||||
| import { Individual } from "./Individual"; | ||||
| import { Group } from "./Group"; | ||||
| import { Range } from "./Range"; | ||||
| import { Emitter, EventType, EventMixin } from "./Emitter"; | ||||
| import { CtrlObject } from "./CtrlObject"; | ||||
| import { ObjectID, AbstractRenderer } from "./Renderer"; | ||||
| import { Label } from "./Label"; | ||||
| import { Behavior, IAnyBehavior, IAnyBehaviorRecorder } from "./Behavior"; | ||||
| import { Label } from "@Model/Label"; | ||||
| import { Group } from "@Model/Group"; | ||||
| import { Range } from "@Model/Range"; | ||||
| 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 { Behavior, IAnyBehavior, IAnyBehaviorRecorder } from "@Model/Behavior"; | ||||
| 
 | ||||
| type ModelEvent = { | ||||
|     labelChange: Label[]; | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| import type { Group } from "./Group"; | ||||
| import type { Range } from "./Range"; | ||||
| import type { Label } from "./Label"; | ||||
| import type { Group } from "@Model/Group"; | ||||
| import type { Range } from "@Model/Range"; | ||||
| import type { Label } from "@Model/Label"; | ||||
| 
 | ||||
| type IObjectParamCacheType<P, Q = P> = { | ||||
|     picker: P; | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| import { CtrlObject } from "./CtrlObject"; | ||||
| import { CtrlObject } from "@Model/CtrlObject"; | ||||
| 
 | ||||
| /** | ||||
|  * 范围 | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| import { Component, ReactNode, createRef } from "react"; | ||||
| import { ClassicRenderer } from "@GLRender/ClassicRenderer"; | ||||
| import { Entry } from "../Entry/Entry"; | ||||
| import { Model } from "@Model/Model"; | ||||
| import { Entry } from "../Entry/Entry"; | ||||
| import "./Laboratory.scss"; | ||||
| 
 | ||||
| class Laboratory extends Component { | ||||
|  | ||||
| @ -1,16 +1,16 @@ | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { SettingProvider, Setting } from "@Context/Setting"; | ||||
| import { HeaderBar } from "@Component/HeaderBar/HeaderBar"; | ||||
| import { Theme, BackgroundLevel, FontLevel } from "@Component/Theme/Theme"; | ||||
| import { Entry } from "../Entry/Entry"; | ||||
| import { StatusProvider, Status } from "@Context/Status"; | ||||
| import { ClassicRenderer } from "@GLRender/ClassicRenderer"; | ||||
| import { initializeIcons } from '@fluentui/font-icons-mdl2'; | ||||
| import { RootContainer } from "@Component/Container/RootContainer"; | ||||
| import { LayoutDirection } from "@Context/Layout"; | ||||
| import { CommandBar } from "@Component/CommandBar/CommandBar"; | ||||
| import { Popup } from "@Component/Popup/Popup"; | ||||
| import { AllBehaviors } from "@Behavior/Behavior"; | ||||
| import { CommandBar } from "@Component/CommandBar/CommandBar"; | ||||
| import { HeaderBar } from "@Component/HeaderBar/HeaderBar"; | ||||
| import { Popup } from "@Component/Popup/Popup"; | ||||
| import { Entry } from "../Entry/Entry"; | ||||
| import "./SimulatorWeb.scss"; | ||||
| 
 | ||||
| initializeIcons("https://img.mrkbear.com/fabric-cdn-prod_20210407.001/"); | ||||
|  | ||||
| @ -2,12 +2,12 @@ import { Component, ReactNode} from "react"; | ||||
| import { useSettingWithEvent, IMixinSettingProps } from "@Context/Setting"; | ||||
| import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; | ||||
| import { IAnyBehavior } from "@Model/Behavior"; | ||||
| import { Message } from "@Component/Message/Message"; | ||||
| import { AttrInput } from "@Component/AttrInput/AttrInput"; | ||||
| import { ColorInput } from "@Component/ColorInput/ColorInput"; | ||||
| import { TogglesInput } from "@Component/TogglesInput/TogglesInput"; | ||||
| import { Message } from "@Input/Message/Message"; | ||||
| import { AttrInput } from "@Input/AttrInput/AttrInput"; | ||||
| import { ColorInput } from "@Input/ColorInput/ColorInput"; | ||||
| import { TogglesInput } from "@Input/TogglesInput/TogglesInput"; | ||||
| import { ConfirmPopup } from "@Component/ConfirmPopup/ConfirmPopup"; | ||||
| import { Parameter } from "@Component/Parameter/Parameter"; | ||||
| import { Parameter } from "@Input/Parameter/Parameter"; | ||||
| import "./BehaviorDetails.scss"; | ||||
| 
 | ||||
| interface IBehaviorDetailsProps {} | ||||
|  | ||||
| @ -1,11 +1,11 @@ | ||||
| import { BehaviorList as BehaviorListComponent } from "@Component/BehaviorList/BehaviorList"; | ||||
| import { Component } from "react"; | ||||
| import { BehaviorList as BehaviorListComponent } from "@Component/BehaviorList/BehaviorList"; | ||||
| import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; | ||||
| import { useSetting, IMixinSettingProps } from "@Context/Setting"; | ||||
| import { Behavior } from "@Model/Behavior"; | ||||
| import { Message } from "@Component/Message/Message"; | ||||
| import { ConfirmPopup } from "@Component/ConfirmPopup/ConfirmPopup"; | ||||
| import { BehaviorPopup } from "@Component/BehaviorPopup/BehaviorPopup"; | ||||
| import { Behavior } from "@Model/Behavior"; | ||||
| import { Message } from "@Input/Message/Message"; | ||||
| import "./BehaviorList.scss"; | ||||
| 
 | ||||
| interface IBehaviorListProps { | ||||
|  | ||||
| @ -1,18 +1,18 @@ | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { AttrInput } from "@Component/AttrInput/AttrInput"; | ||||
| import { AttrInput } from "@Input/AttrInput/AttrInput"; | ||||
| import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; | ||||
| import { useSetting, IMixinSettingProps } from "@Context/Setting"; | ||||
| import { Message } from "@Component/Message/Message"; | ||||
| import { ComboInput, IDisplayItem } from "@Input/ComboInput/ComboInput"; | ||||
| import { Message } from "@Input/Message/Message"; | ||||
| import { ObjectID } from "@Model/Renderer"; | ||||
| import { ColorInput } from "@Component/ColorInput/ColorInput"; | ||||
| import { TogglesInput } from "@Component/TogglesInput/TogglesInput"; | ||||
| import { LabelPicker } from "@Component/LabelPicker/LabelPicker"; | ||||
| import { ColorInput } from "@Input/ColorInput/ColorInput"; | ||||
| import { TogglesInput } from "@Input/TogglesInput/TogglesInput"; | ||||
| import { LabelPicker } from "@Input/LabelPicker/LabelPicker"; | ||||
| import { Group, GenMod } from "@Model/Group"; | ||||
| import { AllI18nKeys } from "@Component/Localization/Localization"; | ||||
| import { ComboInput, IDisplayItem } from "@Component/ComboInput/ComboInput"; | ||||
| import { ObjectPicker } from "@Component/ObjectPicker/ObjectPicker"; | ||||
| import { ObjectPicker } from "@Input/ObjectPicker/ObjectPicker"; | ||||
| import { ConfirmPopup } from "@Component/ConfirmPopup/ConfirmPopup"; | ||||
| import { BehaviorPicker } from "@Component/BehaviorPicker/BehaviorPicker"; | ||||
| import { BehaviorPicker } from "@Input/BehaviorPicker/BehaviorPicker"; | ||||
| import "./GroupDetails.scss"; | ||||
| 
 | ||||
| interface IGroupDetailsProps {} | ||||
|  | ||||
| @ -1,11 +1,11 @@ | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { AttrInput } from "@Component/AttrInput/AttrInput"; | ||||
| import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; | ||||
| import { Message } from "@Component/Message/Message"; | ||||
| import { ColorInput } from "@Component/ColorInput/ColorInput"; | ||||
| import { Label } from "@Model/Label"; | ||||
| import { TogglesInput } from "@Component/TogglesInput/TogglesInput"; | ||||
| import { TogglesInput } from "@Input/TogglesInput/TogglesInput"; | ||||
| import { ConfirmPopup } from "@Component/ConfirmPopup/ConfirmPopup"; | ||||
| import { ColorInput } from "@Input/ColorInput/ColorInput"; | ||||
| import { AttrInput } from "@Input/AttrInput/AttrInput"; | ||||
| import { Message } from "@Input/Message/Message"; | ||||
| import { Label } from "@Model/Label"; | ||||
| import "./LabelDetails.scss"; | ||||
| 
 | ||||
| @useStatusWithEvent("focusLabelChange", "labelAttrChange", "labelChange") | ||||
|  | ||||
| @ -1,10 +1,10 @@ | ||||
| import { LabelList as LabelListComponent } from "@Component/LabelList/LabelList"; | ||||
| import { Component } from "react"; | ||||
| import { LabelList as LabelListComponent } from "@Component/LabelList/LabelList"; | ||||
| import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; | ||||
| import { useSetting, IMixinSettingProps } from "@Context/Setting"; | ||||
| import { Label } from "@Model/Label"; | ||||
| import { Message } from "@Component/Message/Message"; | ||||
| import { ConfirmPopup } from "@Component/ConfirmPopup/ConfirmPopup"; | ||||
| import { Message } from "@Input/Message/Message"; | ||||
| import { Label } from "@Model/Label"; | ||||
| import "./LabelList.scss"; | ||||
| 
 | ||||
| interface ILabelListProps { | ||||
|  | ||||
| @ -1,9 +1,9 @@ | ||||
| import { BackgroundLevel, FontLevel, Theme } from "@Component/Theme/Theme"; | ||||
| import { useStatus, IMixinStatusProps } from "../../Context/Status"; | ||||
| import { ConfirmPopup } from "@Component/ConfirmPopup/ConfirmPopup"; | ||||
| import { Icon } from "@fluentui/react"; | ||||
| 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 { Icon } from "@fluentui/react"; | ||||
| import "./ObjectList.scss"; | ||||
| 
 | ||||
| @useStatus | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { DetailsList } from "@Component/DetailsList/DetailsList"; | ||||
| 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 { Icon } from "@fluentui/react"; | ||||
| import "./ObjectList.scss"; | ||||
|  | ||||
| @ -1,15 +1,15 @@ | ||||
| import { ReactNode, Component, FunctionComponent } from "react"; | ||||
| import { Theme } from "@Component/Theme/Theme"; | ||||
| import { Message } from "@Component/Message/Message"; | ||||
| import { RenderView } from "./RenderView/RenderView"; | ||||
| import { ObjectList } from "./ObjectList/ObjectList"; | ||||
| import { ObjectCommand } from "./ObjectList/ObjectCommand"; | ||||
| import { RangeDetails } from "./RangeDetails/RangeDetails"; | ||||
| import { LabelList } from "./LabelList/LabelList"; | ||||
| import { LabelDetails } from "./LabelDetails/LabelDetails"; | ||||
| import { GroupDetails } from "./GroupDetails/GroupDetails"; | ||||
| import { BehaviorList } from "./BehaviorList/BehaviorList"; | ||||
| import { BehaviorDetails } from "./BehaviorDetails/BehaviorDetails"; | ||||
| import { Message } from "@Input/Message/Message"; | ||||
| import { RenderView } from "@Panel/RenderView/RenderView"; | ||||
| import { ObjectList } from "@Panel/ObjectList/ObjectList"; | ||||
| import { ObjectCommand } from "@Panel/ObjectList/ObjectCommand"; | ||||
| import { RangeDetails } from "@Panel/RangeDetails/RangeDetails"; | ||||
| import { LabelList } from "@Panel/LabelList/LabelList"; | ||||
| import { LabelDetails } from "@Panel/LabelDetails/LabelDetails"; | ||||
| import { GroupDetails } from "@Panel/GroupDetails/GroupDetails"; | ||||
| import { BehaviorList } from "@Panel/BehaviorList/BehaviorList"; | ||||
| import { BehaviorDetails } from "@Panel/BehaviorDetails/BehaviorDetails"; | ||||
| 
 | ||||
| interface IPanelInfo { | ||||
| 	nameKey: string; | ||||
|  | ||||
| @ -1,12 +1,12 @@ | ||||
| import { Component, ReactNode } from "react"; | ||||
| import { AttrInput } from "@Component/AttrInput/AttrInput"; | ||||
| import { useStatusWithEvent, IMixinStatusProps, Status } from "@Context/Status"; | ||||
| import { Message } from "@Component/Message/Message"; | ||||
| 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 { ColorInput } from "@Component/ColorInput/ColorInput"; | ||||
| import { TogglesInput } from "@Component/TogglesInput/TogglesInput"; | ||||
| import { LabelPicker } from "@Component/LabelPicker/LabelPicker"; | ||||
| import { ColorInput } from "@Input/ColorInput/ColorInput"; | ||||
| import { TogglesInput } from "@Input/TogglesInput/TogglesInput"; | ||||
| import { LabelPicker } from "@Input/LabelPicker/LabelPicker"; | ||||
| import { ConfirmPopup } from "@Component/ConfirmPopup/ConfirmPopup"; | ||||
| import "./RangeDetails.scss"; | ||||
| 
 | ||||
|  | ||||
| @ -32,6 +32,9 @@ | ||||
|             "@Component/*": [ | ||||
|                 "./source/Component/*" | ||||
|             ], | ||||
|             "@Input/*": [ | ||||
|                 "./source/Input/*" | ||||
|             ], | ||||
|             "@Localization/*": [ | ||||
|                 "./source/Localization/*" | ||||
|             ], | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user