Browse Source

better 3D focus call from 1D selections && no cameraFocus

bioinsilico 2 years ago
parent
commit
b9fe7d6c2b
2 changed files with 5 additions and 3 deletions
  1. 1 1
      package.json
  2. 4 2
      src/RcsbFvStructure/StructureViewerBehaviour/MsaBehaviour.ts

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "@rcsb/rcsb-saguaro-3d",
-  "version": "2.2.0-uniprot-msa.19",
+  "version": "2.2.0-uniprot-msa.20",
   "description": "RCSB Molstar/Saguaro Web App",
   "main": "build/dist/app.js",
   "files": [

+ 4 - 2
src/RcsbFvStructure/StructureViewerBehaviour/MsaBehaviour.ts

@@ -110,9 +110,9 @@ class MsaBehaviour<R> implements StructureViewerBehaviourInterface {
                 const residues: number[] = regions.map(r=> r.begin == r.end ? [r.begin] : [r.begin,r.end]).flat().filter(r=>r!=null);
                 if(residues.length == 0)
                     return;
-                if(residues.length == 1)
+                if(numRes == data?.length)
                     this.structureViewer.setFocus(modelId,labelAsymId,residues[0],residues[0],operatorName);
-                cameraFocus.call(d);
+                //cameraFocus.call(d);
                 const ranges: SaguaroRange[] = regions.map(r=>({
                     modelId,
                     labelAsymId,
@@ -178,6 +178,8 @@ class MsaBehaviour<R> implements StructureViewerBehaviourInterface {
     }
 
     private select(mode:"select"|"hover"): void{
+        if(mode == "select")
+            this.structureViewer.clearFocus();
         if(this.stateManager.selectionState.getSelection(mode).length == 0)
             this.structureViewer.clearSelection(mode);
         this.structureViewer.select(this.stateManager.selectionState.getSelection(mode).map(selectedRegion=>{