diff --git a/src/Add-on/DrawTemplateByPictureImport/ImportPictureTemplateData.ts b/src/Add-on/DrawTemplateByPictureImport/ImportPictureTemplateData.ts index 4a0d10b35..92ee815c6 100644 --- a/src/Add-on/DrawTemplateByPictureImport/ImportPictureTemplateData.ts +++ b/src/Add-on/DrawTemplateByPictureImport/ImportPictureTemplateData.ts @@ -159,7 +159,7 @@ export async function ImportPictureTemplateData(file: File) { let selectSpace = new PointSelectSpaceClamp(); await selectSpace.Select(); - if (!selectSpace.ParseOK || !selectSpace.SpaceParse.Boards.length) + if (!selectSpace.ParseOK || selectSpace.SpaceParse.Boards.filter((br) => br.BoardType != BoardType.Behind).length === 0) { Log("请选择有效板件", LogType.Error); return; @@ -168,7 +168,7 @@ export async function ImportPictureTemplateData(file: File) isUseSpace = true; const spaceParse = selectSpace.SpaceParse; - thickness = spaceParse.Boards.filter((br) => br.BoardType != BoardType.Behind)[0].Thickness; + thickness = spaceParse.Boards.filter((br) => br.BoardType != BoardType.Behind)[0]?.Thickness; const min = spaceParse.SpaceBox.applyMatrix4(spaceParse.SpaceOCS).min; diff --git a/src/UI/Components/MaterialExplorer.tsx b/src/UI/Components/MaterialExplorer.tsx index 3090ce342..cdf83f43f 100644 --- a/src/UI/Components/MaterialExplorer.tsx +++ b/src/UI/Components/MaterialExplorer.tsx @@ -107,12 +107,12 @@ export class MaterialExplorer extends React.Component<{ materialTable: MaterialT componentDidMount() { - document.addEventListener("drop", this.handleDrop); + document.body.addEventListener("drop", this.handleDrop); } componentWillUnmount() { - document.removeEventListener("drop", this.handleDrop); + document.body.removeEventListener("drop", this.handleDrop); this._RemoveFunc(); } @@ -121,6 +121,7 @@ export class MaterialExplorer extends React.Component<{ materialTable: MaterialT let material = app.Database.MaterialTable.GetAt(e.dataTransfer.getData("mat")); if (!material) return; + e.stopPropagation(); let pt = new Vector3(e.offsetX, e.offsetY, 0); let raycaster = GenerateRaycaster(pt, app.Viewer); diff --git a/src/UI/Components/SourceManage/MaterialList.tsx b/src/UI/Components/SourceManage/MaterialList.tsx index 794cc216d..e89939fba 100644 --- a/src/UI/Components/SourceManage/MaterialList.tsx +++ b/src/UI/Components/SourceManage/MaterialList.tsx @@ -42,7 +42,8 @@ export interface IImgListProps } @observer -export class MaterialList extends React.Component { +export class MaterialList extends React.Component +{ static defaultProps: Partial = { isRightToolbar: false, }; @@ -300,11 +301,11 @@ export class MaterialList extends React.Component { }; componentDidMount() { - document.addEventListener("drop", this.handleApply); + document.body.addEventListener("drop", this.handleApply); } componentWillUnmount() { - document.removeEventListener("drop", this.handleApply); + document.body.removeEventListener("drop", this.handleApply); } public render() {