mirror of https://gitee.com/cf-fz/WebCAD.git
parent
b2ebf215ec
commit
f3ac09c07f
@ -0,0 +1,14 @@
|
||||
#BoardInfoSelectPanel{
|
||||
.bp3-dialog-body{
|
||||
padding: 10px 20px 0 20px;
|
||||
background-color: white;
|
||||
|
||||
label{
|
||||
width: fit-content;
|
||||
}
|
||||
}
|
||||
|
||||
.bp3-dialog-footer{
|
||||
background-color: white;
|
||||
}
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
import { Button, Checkbox, Classes, Icon, Intent } from "@blueprintjs/core";
|
||||
import { observer } from "mobx-react";
|
||||
import React from "react";
|
||||
import { begin } from "xaop";
|
||||
import { app } from "../../ApplicationServices/Application";
|
||||
import { KeyBoard } from "../../Common/KeyEnum";
|
||||
import { BoardModalType } from "../../UI/Components/Board/BoardModalType";
|
||||
import { Config_ModalType, UserConfigComponent } from "../../UI/Components/Board/UserConfigComponent";
|
||||
import "./BoardInfoSelectPanel.less";
|
||||
import { ChangeColorByBoardMaterialStore } from "./CalcBrThicknessConfigStore";
|
||||
|
||||
@observer
|
||||
export class BoardInfoSelectPanel extends React.Component<{ store: ChangeColorByBoardMaterialStore; }, {}>
|
||||
{
|
||||
_RemoveFun: Function;
|
||||
|
||||
componentDidMount()
|
||||
{
|
||||
this._RemoveFun = begin(app.Editor.ModalManage, app.Editor.ModalManage.OnKeyDown, (e: KeyboardEvent) =>
|
||||
{
|
||||
if (e.keyCode === KeyBoard.Enter || e.keyCode === KeyBoard.Space)
|
||||
app.Editor.ModalManage.Destory();
|
||||
e.stopPropagation();
|
||||
});
|
||||
}
|
||||
|
||||
componentWillUnmount()
|
||||
{
|
||||
if (this._RemoveFun) this._RemoveFun();
|
||||
}
|
||||
|
||||
render()
|
||||
{
|
||||
const option = this.props.store.m_Option;
|
||||
|
||||
return (
|
||||
<div id="BoardInfoSelectPanel" className={Classes.DIALOG_CONTAINER}>
|
||||
<div className={Classes.DIALOG} >
|
||||
<div className={Classes.DIALOG_HEADER} data-id="dragArea">
|
||||
<Icon icon="cog" iconSize={18} />
|
||||
<h4 className={Classes.HEADING}>根据板材修改颜色</h4>
|
||||
<Button
|
||||
icon="cross"
|
||||
aria-label="Close"
|
||||
minimal={true}
|
||||
onClick={() => { app.Editor.ModalManage.Destory(); }}
|
||||
/>
|
||||
</div>
|
||||
<div className={Classes.DIALOG_BODY}>
|
||||
<Checkbox
|
||||
disabled
|
||||
checked={option.accordMaterial}
|
||||
label="区分板材料"
|
||||
onChange={() => { option.accordMaterial = !option.accordMaterial; }}
|
||||
/>
|
||||
<Checkbox
|
||||
checked={option.accordMaterialName}
|
||||
label="区分板材名"
|
||||
onChange={() => { option.accordMaterialName = !option.accordMaterialName; }}
|
||||
/>
|
||||
<Checkbox
|
||||
checked={option.accordMaterialColor}
|
||||
label="区分板材色"
|
||||
onChange={() => { option.accordMaterialColor = !option.accordMaterialColor; }}
|
||||
/>
|
||||
<Checkbox
|
||||
checked={option.accordThickness}
|
||||
label="区分板厚度"
|
||||
onChange={() => { option.accordThickness = !option.accordThickness; }}
|
||||
/>
|
||||
</div>
|
||||
<div className={Classes.DIALOG_FOOTER} >
|
||||
<div className={Classes.DIALOG_FOOTER_ACTIONS}>
|
||||
<UserConfigComponent store={this.props.store} type={BoardModalType.ChangeColorByBoardMaterial} configType={Config_ModalType.UserConfigModal} />
|
||||
<div className="foot_right">
|
||||
<Button
|
||||
intent={Intent.SUCCESS}
|
||||
text="确定"
|
||||
onClick={() => { app.Editor.ModalManage.Destory(); }}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
import { observable, toJS } from "mobx";
|
||||
import { DefaultChangeColorByBoardMaterialOption } from "../../Editor/DefaultConfig";
|
||||
import { IConfigOption } from "../../UI/Components/Board/UserConfigComponent";
|
||||
import { ChangeColorByBoardMaterialOption } from "../../UI/Store/BoardInterface";
|
||||
import { IConfigStore } from "../../UI/Store/BoardStore";
|
||||
|
||||
export class ChangeColorByBoardMaterialStore implements IConfigStore
|
||||
{
|
||||
@observable configName = "默认";
|
||||
SaveConfig()
|
||||
{
|
||||
//新的配置
|
||||
let newConfig: IConfigOption = {};
|
||||
newConfig.option = toJS(this.m_Option);
|
||||
return newConfig;
|
||||
};
|
||||
//板数据
|
||||
@observable m_Option: ChangeColorByBoardMaterialOption = { ...DefaultChangeColorByBoardMaterialOption };
|
||||
@observable configsNames: string[] = [];
|
||||
InitOption()
|
||||
{
|
||||
Object.assign(this.m_Option, DefaultChangeColorByBoardMaterialOption);
|
||||
}
|
||||
UpdateOption(cof: IConfigOption<ChangeColorByBoardMaterialOption>)
|
||||
{
|
||||
Object.assign(this.m_Option, cof.option);
|
||||
}
|
||||
|
||||
private static _SingleInstance: ChangeColorByBoardMaterialStore;
|
||||
static GetInstance(): ChangeColorByBoardMaterialStore
|
||||
{
|
||||
if (this._SingleInstance) return this._SingleInstance;
|
||||
this._SingleInstance = new ChangeColorByBoardMaterialStore;
|
||||
return this._SingleInstance;
|
||||
}
|
||||
}
|
Loading…
Reference in new issue