Skip to content
Snippets Groups Projects
Commit f3353b6e authored by Alexander Rose's avatar Alexander Rose
Browse files

fixed units-representation update (don't use async in .forEach)

parent 7565d399
Branches master
No related tags found
No related merge requests found
...@@ -30,7 +30,7 @@ export function UnitsRepresentation<P extends StructureProps>(label: string, vis ...@@ -30,7 +30,7 @@ export function UnitsRepresentation<P extends StructureProps>(label: string, vis
function createOrUpdate(props: Partial<P> = {}, structure?: Structure) { function createOrUpdate(props: Partial<P> = {}, structure?: Structure) {
_props = Object.assign({}, _props, props) _props = Object.assign({}, _props, props)
return Task.create('Creating or updating StructureRepresentation', async ctx => { return Task.create('Creating or updating UnitsRepresentation', async ctx => {
if (!_structure && !structure) { if (!_structure && !structure) {
throw new Error('missing structure') throw new Error('missing structure')
} else if (structure && !_structure) { } else if (structure && !_structure) {
...@@ -97,9 +97,12 @@ export function UnitsRepresentation<P extends StructureProps>(label: string, vis ...@@ -97,9 +97,12 @@ export function UnitsRepresentation<P extends StructureProps>(label: string, vis
} else { } else {
// console.log('no new structure') // console.log('no new structure')
// No new structure given, just update all visuals with new props. // No new structure given, just update all visuals with new props.
visuals.forEach(async ({ visual, group }) => { const visualsList: [ UnitsVisual<P>, Unit.SymmetryGroup ][] = [] // TODO avoid allocation
visuals.forEach(({ visual, group }) => visualsList.push([ visual, group ]))
for (let i = 0, il = visualsList.length; i < il; ++i) {
const [ visual, group ] = visualsList[i]
await visual.createOrUpdate(ctx, _props, { group, structure: _structure }) await visual.createOrUpdate(ctx, _props, { group, structure: _structure })
}) }
} }
if (structure) _structure = structure if (structure) _structure = structure
}); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment