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

@ -8,7 +8,7 @@ import { SpaceParse } from "./SpaceParse";
/** /**
*; *;
*TODO:, *TODO:
* @export * @export
* @class GeneralSpaceParse * @class GeneralSpaceParse
* @extends {SpaceParse} * @extends {SpaceParse}
@ -29,7 +29,7 @@ export class GeneralSpaceParse extends SpaceParse
let boards = this.boardMap.get(key); let boards = this.boardMap.get(key);
if (boards.length > 1) if (boards.length > 1)
{ {
this.parseBoards(boards, unionBoxes, spliteBoxes); this.parseBoards(boards, unionBoxes);
} }
else if (boards.length === 1) 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)); 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(); 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 let value = e.currentTarget.value as BehindHeightPositon
store.m_BoardOption.boardPosition = value; store.m_BoardOption.boardPosition = value;
let height = store.m_BoardOption.height;
if (value === BehindHeightPositon.ForTop) if (value === BehindHeightPositon.ForTop)
{ {
this.moveDir = "上移"; this.moveDir = "上移";
store.m_BoardOption.height = "0" store.m_BoardOption.height = height === "H" ? "0" : height
} }
else if (value === BehindHeightPositon.ForBottom) else if (value === BehindHeightPositon.ForBottom)
{ {
store.m_BoardOption.height = "0" store.m_BoardOption.height = height === "H" ? "0" : height
this.moveDir = "下移"; this.moveDir = "下移";
} }
else else

@ -35,7 +35,7 @@ export const SetBoardDataItem2 = observer(({ k, opt, title }: { k: string, title
</label> </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}> <div className={className}>
{ {
Array.from(pars.keys()).map(k => Array.from(pars.keys()).map(k =>

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

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

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

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

Loading…
Cancel
Save