From 6ada6850d3e6056d982b8a51efa105adc168d358 Mon Sep 17 00:00:00 2001 From: ZoeLeeFZ Date: Mon, 31 Aug 2020 16:04:31 +0800 Subject: [PATCH] =?UTF-8?q?!1196=20=E4=BC=98=E5=8C=96:=E6=9F=A5=E6=89=BE?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Add-on/BoardFindModify.ts | 14 ++++++++++---- src/Editor/DefaultConfig.ts | 4 +++- src/UI/Components/Board/BoardFindModify.tsx | 15 ++++++++++++++- src/UI/Store/BoardFindInterface.ts | 2 ++ src/UI/Store/BoardFindModifyStore.ts | 9 +++++++++ 5 files changed, 38 insertions(+), 6 deletions(-) diff --git a/src/Add-on/BoardFindModify.ts b/src/Add-on/BoardFindModify.ts index 74d698e29..3156c98b1 100644 --- a/src/Add-on/BoardFindModify.ts +++ b/src/Add-on/BoardFindModify.ts @@ -19,7 +19,7 @@ import { equaln } from "../Geometry/GeUtils"; import { IHardwareType } from "../Production/Product"; import BoardFindModifyModal from "../UI/Components/Board/BoardFindModify"; import { InitRectBoardDrillOption, SetRectHighDrill } from "../UI/Components/Board/CommonBoardOption"; -import { DRILL_KEYS, ECompareType, EFindType, IBoardFindOption } from "../UI/Store/BoardFindInterface"; +import { DRILL_KEYS, ECompareType, EFindType, IBoardFindOption, IFindCondition } from "../UI/Store/BoardFindInterface"; import { BoardFindStore } from "../UI/Store/BoardFindModifyStore"; import { LinesType, BoardOpenDir } from "../UI/Store/BoardInterface"; @@ -142,7 +142,7 @@ export class BoardFindModify implements Command if (option.condition[i]) { hadVailCondition = true; - switch (i) + switch (i as keyof IFindCondition) { case EBoardKeyList.Height: compareBrValue = br.Height; @@ -162,7 +162,7 @@ export class BoardFindModify implements Command torValue = safeEval(option.tolerance.thickness) || DEFAULT_TOR; isVail = this.FilterBrSize(compareBrValue, compareValue, torValue, option.compareType.thickness); break; - case "uerDoor": + case "useDoor": case "useSpecial": isVail = br.IsSpecialShape; break; @@ -241,6 +241,9 @@ export class BoardFindModify implements Command } } + break; + case "useChaidan": + isVail = br.IsChaiDan === option.isChaidan; break; default: isVail = false; @@ -303,7 +306,7 @@ export class BoardFindModify implements Command { if (option.condition[i]) { - switch (i as keyof EBoardKeyList) + switch (i as keyof IFindCondition) { case EBoardKeyList.Height: let height = safeEval(option.height); @@ -395,6 +398,9 @@ export class BoardFindModify implements Command } br.BoardProcessOption.remarks = remarks; break; + case "useChaidan": + br.IsChaiDan = option.isChaidan; + break; default: break; } diff --git a/src/Editor/DefaultConfig.ts b/src/Editor/DefaultConfig.ts index d0215d80f..f42be30ac 100644 --- a/src/Editor/DefaultConfig.ts +++ b/src/Editor/DefaultConfig.ts @@ -179,7 +179,7 @@ export const DefaultClosingStripOption: ClosingStripOption = { Object.freeze(DefaultClosingStripOption); export const DefaultBoardFindOption: IBoardFindOption = { - version: 3, + version: 4, condition: { layer: false, height: false, @@ -210,6 +210,7 @@ export const DefaultBoardFindOption: IBoardFindOption = { leftDrill: false, rightDrill: false, useZhengFanDrill: false, + useChaidan: false, }, compareType: { height: ECompareType.Equal, @@ -253,6 +254,7 @@ export const DefaultBoardFindOption: IBoardFindOption = { upDownDrill: [true, true], isClose: false, remarks: Array.from({ length: 10 }, () => ["", ""]), + isChaidan: false, }; Object.freeze(DefaultBoardFindOption); diff --git a/src/UI/Components/Board/BoardFindModify.tsx b/src/UI/Components/Board/BoardFindModify.tsx index 32e4f76e6..8e923eb3b 100644 --- a/src/UI/Components/Board/BoardFindModify.tsx +++ b/src/UI/Components/Board/BoardFindModify.tsx @@ -419,6 +419,19 @@ export default class BoardFindModifyModal extends React.Component<{ store?: Boar target={} /> +
+ store.m_Option.condition.useChaidan = !store.m_Option.condition.useChaidan} + /> + store.m_Option.isChaidan = !store.m_Option.isChaidan} + /> +
diff --git a/src/UI/Store/BoardFindInterface.ts b/src/UI/Store/BoardFindInterface.ts index eb8775e11..6cb28707b 100644 --- a/src/UI/Store/BoardFindInterface.ts +++ b/src/UI/Store/BoardFindInterface.ts @@ -30,6 +30,7 @@ export interface IBoardFindOption extends IBaseOption upDownDrill: [boolean, boolean]; isClose: boolean; remarks: [string, string][]; + isChaidan: boolean; } export interface IFindCondition { @@ -62,6 +63,7 @@ export interface IFindCondition leftDrill: boolean; rightDrill: boolean; useZhengFanDrill: boolean; + useChaidan: boolean; } export interface ICompareType diff --git a/src/UI/Store/BoardFindModifyStore.ts b/src/UI/Store/BoardFindModifyStore.ts index 4fe869981..797e42e12 100644 --- a/src/UI/Store/BoardFindModifyStore.ts +++ b/src/UI/Store/BoardFindModifyStore.ts @@ -71,9 +71,18 @@ export class BoardFindStore extends BoardStore { if (cof.option.version < 3) { + cof.option.version = 3; cof.option.compareType[EBoardKeyList.BrMat] = ECompareType.Equal; cof.option.compareType[EBoardKeyList.Color] = ECompareType.Equal; } + + if (cof.option.version < 4) + { + cof.option.version = 4; + cof.option.isChaidan = false; + cof.option.condition.useChaidan = false; + } + Object.assign(this.m_Option, cof.option); this.SetDrillType(); this.CheckIsSelectAll();