diff --git a/src/mol-view/label.ts b/src/mol-view/label.ts index fe766334660d7072333af05996eebe43e4685d4b..b2eac2c3123d4c125f7f619822540a0f24683b14 100644 --- a/src/mol-view/label.ts +++ b/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]