From 45ccb77a395e800f5157e571879c978c37a12c54 Mon Sep 17 00:00:00 2001 From: Zoe Date: Mon, 23 Jul 2018 16:30:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BF=9D=E5=AD=98=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/DatabaseServices/Board.ts | 2 +- src/UI/Components/Board/BoardModal.tsx | 34 +++++++++++++++++++++----- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/DatabaseServices/Board.ts b/src/DatabaseServices/Board.ts index 8db2b6b57..d24cdfc2a 100644 --- a/src/DatabaseServices/Board.ts +++ b/src/DatabaseServices/Board.ts @@ -206,7 +206,7 @@ export class Board extends Entity let extrudeSettings = { steps: 1, bevelEnabled: false, - amount: this.m_Thickness + depth: this.m_Thickness }; let geo = new ExtrudeGeometry(this.m_Shape.Shape, extrudeSettings); geo.translate(0, 0, -this.m_Thickness); diff --git a/src/UI/Components/Board/BoardModal.tsx b/src/UI/Components/Board/BoardModal.tsx index b08326fd1..e8df83f3a 100644 --- a/src/UI/Components/Board/BoardModal.tsx +++ b/src/UI/Components/Board/BoardModal.tsx @@ -64,6 +64,12 @@ export class BoardModal extends React.Component { let name = this.state.configName; + if (name === "") + { + alert("输入名称"); + return; + } + let dbstore = await IndexedDbStore.CADStore(); let brStore = this.props.store; let type = this.props.type; @@ -81,7 +87,7 @@ export class BoardModal extends React.Component || new Map(); let isContinue = true; - if (brDataMap.get(name)) + if (brDataMap.has(name)) { isContinue = confirm("该名字存在,是否覆盖值"); } @@ -97,18 +103,24 @@ export class BoardModal extends React.Component { + // 删除视图中的对应项 let configs = this.state.configs; let currentName = this.state.configName; configs.delete(currentName); this.setState({ configs }); + + //删除数据库中的对应项 let dbstore = await IndexedDbStore.CADStore(); let type = this.props.type; let brDataMap = await dbstore.Get(StoreName.ConfigData, type) as Map; brDataMap.delete(currentName); dbstore.Put(StoreName.ConfigData, type, brDataMap); - this.setState({ configName: "默认" }); - await this.changeBoardOption("默认"); + //切换到第一项 + let confNames = Array.from(brDataMap.keys()); + let newName = confNames.length > 0 ? confNames[0] : ""; + this.setState({ configName: newName }); + await this.changeBoardOption(newName); } //更新配置 changeBoardOption = async (k: string) => @@ -137,7 +149,18 @@ export class BoardModal extends React.Component || new Map(); this.setState({ configs: brDataMap }); - console.log(this.state.configs.size); + + let confNames = Array.from(brDataMap.keys()); + //如果没保存过配置,添加一个默认 + if (confNames.length === 0) + { + this.setState({ configName: "默认" }); + await this.handleSaveConfig(); + } + else + { + this.setState({ configName: confNames[0] }); + } } render() { @@ -206,8 +229,7 @@ export class BoardModal extends React.Component - } />} + >} />} />