Browse Source

fix circular import issue

Alexander Rose 6 years ago
parent
commit
c15a1bff77
1 changed files with 6 additions and 2 deletions
  1. 6 2
      src/mol-view/label.ts

+ 6 - 2
src/mol-view/label.ts

@@ -9,8 +9,9 @@ import { Unit, StructureElement, StructureProperties as Props } from 'mol-model/
 import { Loci } from 'mol-model/loci';
 import { OrderedSet } from 'mol-data/int';
 
-const elementLocA = StructureElement.create()
-const elementLocB = StructureElement.create()
+// for `labelFirst`, don't create right away to avaiod problems with circular dependencies/imports
+let elementLocA: StructureElement
+let elementLocB: StructureElement
 
 function setElementLocation(loc: StructureElement, unit: Unit, index: StructureElement.UnitIndex) {
     loc.unit = unit
@@ -18,6 +19,9 @@ function setElementLocation(loc: StructureElement, unit: Unit, index: StructureE
 }
 
 export function labelFirst(loci: Loci): string {
+    if (!elementLocA) elementLocA = StructureElement.create()
+    if (!elementLocB) elementLocB = StructureElement.create()
+
     switch (loci.kind) {
         case 'element-loci':
             const e = loci.elements[0]