Browse Source

modifier bug fixed

bioinsilico 3 years ago
parent
commit
05712c61ab
2 changed files with 4 additions and 4 deletions
  1. 1 1
      package.json
  2. 3 3
      src/viewer/helpers/viewer.ts

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
     "name": "@rcsb/rcsb-molstar",
-    "version": "2.0.0-dev.4",
+    "version": "2.0.0-dev.5",
     "description": "RCSB PDB apps and props based on Mol*.",
     "homepage": "https://github.com/rcsb/rcsb-molstar#readme",
     "repository": {

+ 3 - 3
src/viewer/helpers/viewer.ts

@@ -44,7 +44,7 @@ export function getStructureRefWithModelId(structures: StructureRef[], target: {
 }
 
 export function select(plugin: PluginContext, targets: SelectTarget | SelectTarget[], mode: 'select' | 'hover', modifier: 'add' | 'set') {
-    for (const target of (Array.isArray(targets) ? targets : [targets])) {
+    (Array.isArray(targets) ? targets : [targets]).forEach((target, n)=>{
         const data = getStructureWithModelId(plugin.managers.structure.hierarchy.current.structures, target);
         if (!data) return;
 
@@ -54,9 +54,9 @@ export function select(plugin: PluginContext, targets: SelectTarget | SelectTarg
         if (mode === 'hover') {
             plugin.managers.interactivity.lociHighlights.highlight({ loci });
         }else if(mode === 'select'){
-            plugin.managers.structure.selection.fromLoci(modifier, loci);
+            plugin.managers.structure.selection.fromLoci(n > 0 ? 'add' : modifier, loci);
         }
-    }
+    });
 }
 
 export function clearSelection(plugin: PluginContext, mode: 'select' | 'hover', target?: { modelId: string; } & Target) {