Skip to content

Commit 2654840

Browse files
committed
fix(core): support attach in parameters input binding
1 parent 483fd97 commit 2654840

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

libs/core/src/lib/renderer/renderer.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -570,6 +570,7 @@ export class NgtRenderer2 implements Renderer2 {
570570

571571
if (rS[NgtRendererClassId.type] === 'three') {
572572
const instanceState = getInstanceState(el);
573+
const parent = instanceState?.hierarchyStore.snapshot.parent || rS[NgtRendererClassId.parent];
573574

574575
if (name === 'parameters') {
575576
// NOTE: short-cut for null raycast to prevent upstream from creating a nullRaycast property
@@ -580,22 +581,21 @@ export class NgtRenderer2 implements Renderer2 {
580581
applyProps(el, value);
581582

582583
if ('geometry' in value && is.three<THREE.BufferGeometry>(value['geometry'], 'isBufferGeometry')) {
583-
untracked(() => {
584-
instanceState?.updateGeometryStamp();
585-
});
584+
untracked(() => instanceState?.updateGeometryStamp());
585+
}
586+
587+
if ('attach' in value && value['attach'] !== undefined) {
588+
if (instanceState) instanceState.attach = this.normalizeAttach(value['attach']);
589+
if (parent) untracked(() => attachThreeNodes(parent, el as unknown as NgtInstanceNode));
586590
}
587591

588592
return;
589593
}
590594

591-
const parent = instanceState?.hierarchyStore.snapshot.parent || rS[NgtRendererClassId.parent];
592-
593595
// [rawValue]
594596
if (instanceState?.type === 'ngt-value' && name === 'rawValue') {
595597
rS[NgtRendererClassId.rawValue] = value;
596-
if (parent) {
597-
untracked(() => attachThreeNodes(parent, el as unknown as NgtInstanceNode));
598-
}
598+
if (parent) untracked(() => attachThreeNodes(parent, el as unknown as NgtInstanceNode));
599599
return;
600600
}
601601

0 commit comments

Comments
 (0)