pull/93/head
Zoe 6 years ago
parent 295d015288
commit 31604411ed

@ -8,7 +8,7 @@ import { SpaceParse } from "./SpaceParse";
/**
*;
*TODO:,
*TODO:
* @export
* @class GeneralSpaceParse
* @extends {SpaceParse}
@ -29,7 +29,7 @@ export class GeneralSpaceParse extends SpaceParse
let boards = this.boardMap.get(key);
if (boards.length > 1)
{
this.parseBoards(boards, unionBoxes, spliteBoxes);
this.parseBoards(boards, unionBoxes);
}
else if (boards.length === 1)
{
@ -147,7 +147,7 @@ export class GeneralSpaceParse extends SpaceParse
return new Box3Ext(b1.min.add(vec1), b1.max.add(vec2));
}
//分析多块板
private parseBoards(boards: Board[], uniSpaces: Box3Ext[], spliteSPs: Box3Ext[])
private parseBoards(boards: Board[], uniSpaces: Box3Ext[])
{
let boxMap: Map<Board, Box3Ext> = new Map();

@ -45,14 +45,15 @@ export class BehindBoardModal extends React.Component<{ store?: BehindBoardStore
{
let value = e.currentTarget.value as BehindHeightPositon
store.m_BoardOption.boardPosition = value;
let height = store.m_BoardOption.height;
if (value === BehindHeightPositon.ForTop)
{
this.moveDir = "上移";
store.m_BoardOption.height = "0"
store.m_BoardOption.height = height === "H" ? "0" : height
}
else if (value === BehindHeightPositon.ForBottom)
{
store.m_BoardOption.height = "0"
store.m_BoardOption.height = height === "H" ? "0" : height
this.moveDir = "下移";
}
else

@ -35,7 +35,7 @@ export const SetBoardDataItem2 = observer(({ k, opt, title }: { k: string, title
</label>
);
export const SetBoardDataBlock = observer(({ pars, opt, className, isInline = false }: { pars: Map<string, string>, className?: string, isInline: boolean, opt: any }) =>
export const SetBoardDataBlock = observer(({ pars, opt, className, isInline = false }: { pars: Map<string, string>, className?: string, isInline?: boolean, opt: any }) =>
<div className={className}>
{
Array.from(pars.keys()).map(k =>

@ -8,6 +8,7 @@ import { LeftRightBoardModal } from './leftRightBoardModal';
import { TopBottomBoardModal } from './TopBottomBoardModal';
import { VerticalBoardModal } from './VerticalBoardModal';
import { BoardInfo, Notes } from './BoardCommon';
import { KeyBoard } from '../../../Common/KeyEnum';
export enum BoardModalType
{
@ -163,6 +164,19 @@ export class BoardModal extends React.Component<BoardModalProps, BoardModalState
this.setState({ configName: confNames[0] });
}
}
handleKeydown = (e: React.KeyboardEvent) =>
{
let store = this.props.store;
if (e.keyCode === KeyBoard.Enter)
{
store.OnOk(ModalState.Ok);
}
else if (e.keyCode === KeyBoard.Escape)
{
store.OnOk(ModalState.Cancel)
}
e.stopPropagation()
}
render()
{
let store = this.props.store;
@ -170,7 +184,7 @@ export class BoardModal extends React.Component<BoardModalProps, BoardModalState
<div
className="bp3-dialog-container"
id="boardModal"
onKeyDown={(e) => e.stopPropagation()} >
onKeyDown={e => this.handleKeydown(e)} >
<div className="bp3-dialog">
<div
className="bp3-dialog-header"
@ -185,11 +199,7 @@ export class BoardModal extends React.Component<BoardModalProps, BoardModalState
</div>
<div
className="bp3-dialog-body"
onKeyDown={e =>
{
e.stopPropagation();
}
}>
>
<div className="flex">
<div className="bp3-card">
{

@ -142,21 +142,22 @@
justify-content: space-between;
align-items: center;
}
@selectWidth:10rem;
#boardModal .bp3-dialog-footer .bp3-label{
margin: 0;
}
#boardModal .bp3-dialog-footer .bp3-input{
width: @selectWidth;
}
#boardModal .bp3-dialog-footer .cf-select{
vertical-align: middle;
display: inline-block;
}
#boardModal .bp3-dialog-footer .cf-select>input{
width: 60px;
height: 30px;
}
#boardModal .input-select{
display: inline-block;
width: 8rem;
width: @selectWidth;
}
#boardModal .input-select>input, #boardModal .input-select span {
margin: 0;
}

@ -24,8 +24,8 @@ export class ModalManage
this.m_ed = ed;
this.m_ModalContainer = document.createElement("div");
this.m_ModalContainer.id = "modal";
document.getElementById("Webgl").parentNode.appendChild(this.m_ModalContainer);
this.RegisterEvent();
}
// 注册事件
@ -37,6 +37,7 @@ export class ModalManage
{
this.Clear();
}
e.stopPropagation();
})
xaop.end(this.m_ed.m_MouseCtrl, this.m_ed.m_MouseCtrl.onDBMouseDown, () =>
{
@ -96,7 +97,6 @@ export class ModalManage
let downHeight = document.getElementById("DownPanel").offsetHeight;
let topHeight = 40;
dragArea.onmousedown = (e) =>
{
//底部边界

@ -28,11 +28,14 @@ export class BoardStore
m_ConfigPars = new Map(
[["spaceSize", "空间"], ["count", "板数"], ["thickness", "板厚"]]);
m_BoardOption = {};
constructor()
//事件
events = [];
registerEvent()
{
this.events.push(
xaop.end(app.m_Editor.m_KeyCtrl, app.m_Editor.m_KeyCtrl.OnKeyDown, (e: KeyboardEvent) =>
{
if (e.keyCode === KeyBoard.Enter)
if (e.keyCode === KeyBoard.Enter || e.keyCode === KeyBoard.Space)
{
this.OnOk(ModalState.Ok);
}
@ -40,10 +43,13 @@ export class BoardStore
{
this.OnOk(ModalState.Cancel);
}
e.stopPropagation();
})
)
}
async GetBoardOption()
{
this.registerEvent();
return new Promise<number>((res) =>
{
this.m_PromisRes = res;
@ -51,6 +57,8 @@ export class BoardStore
}
OnOk(state: number)
{
this.events.forEach(f => f())
this.events.length = 0;
app.m_Editor.m_ModalManage.Clear();
if (this.m_PromisRes) this.m_PromisRes(state);
}

Loading…
Cancel
Save