Skip to content

Commit 043ddfc

Browse files
committed
fix: check target for all DOM nodes instead of just Document object
1 parent 728db58 commit 043ddfc

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

apps/demo/src/app/camera/camera.component.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
OnInit,
99
ViewChild,
1010
} from '@angular/core';
11-
import { injectBeforeRender, NgtArgs, NgtCanvas, NgtRenderState, NgtState, NgtStore } from 'angular-three';
11+
import { injectBeforeRender, NgtArgs, NgtCanvas, NgtPush, NgtRenderState, NgtState, NgtStore } from 'angular-three';
1212
import * as THREE from 'three';
1313

1414
@Component({
@@ -17,15 +17,15 @@ import * as THREE from 'three';
1717
<ngt-group #cameras>
1818
<ngt-perspective-camera
1919
#perspectiveCamera
20-
[aspect]="store.get('viewport', 'aspect') * 0.5"
20+
[aspect]="(aspect$ | ngtPush) * 0.5"
2121
[near]="150"
2222
[far]="1000"
2323
[rotation]="[0, Math.PI, 0]"
2424
/>
2525
<ngt-orthographic-camera
2626
#orthographicCamera
27-
[left]="(300 * store.get('viewport', 'aspect')) / -2"
28-
[right]="(300 * store.get('viewport', 'aspect')) / 2"
27+
[left]="(300 * (aspect$ | ngtPush)) / -2"
28+
[right]="(300 * (aspect$ | ngtPush)) / 2"
2929
[top]="300"
3030
[bottom]="-300"
3131
[near]="150"
@@ -57,13 +57,13 @@ import * as THREE from 'three';
5757
<ngt-points-material color="#888888" />
5858
</ngt-points>
5959
`,
60-
imports: [NgtArgs],
60+
imports: [NgtArgs, NgtPush],
6161
schemas: [CUSTOM_ELEMENTS_SCHEMA],
6262
})
6363
export class Scene implements AfterViewInit, OnInit {
6464
readonly Math = Math;
6565

66-
readonly store = inject(NgtStore);
66+
readonly aspect$ = inject(NgtStore).select('viewport', 'aspect');
6767

6868
@ViewChild('perspectiveCamera', { static: true }) perspectiveCamera!: ElementRef<THREE.PerspectiveCamera>;
6969
@ViewChild('orthographicCamera', { static: true }) orthographicCamera!: ElementRef<THREE.OrthographicCamera>;

libs/angular-three/src/lib/renderer/renderer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,8 +322,8 @@ export class NgtRenderer implements Renderer2 {
322322
}
323323

324324
listen(target: NgtRendererNode, eventName: string, callback: (event: any) => boolean | void): () => void {
325-
// if target is Document (DOM), then we pass that to delegate Renderer
326-
if (this.store.isDocument(target)) {
325+
// if target is DOM node, then we pass that to delegate Renderer
326+
if (this.store.isDOM(target)) {
327327
return this.delegate.listen(target, eventName, callback);
328328
}
329329

libs/angular-three/src/lib/renderer/state.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,8 @@ export class NgtRendererStore {
247247
return this.root.compoundPrefixes.some((prefix) => name.startsWith(prefix));
248248
}
249249

250-
isDocument(node: NgtAnyRecord) {
251-
return node === this.root.document;
250+
isDOM(node: NgtAnyRecord) {
251+
return node instanceof Element || node instanceof Document;
252252
}
253253

254254
get rootScene() {

0 commit comments

Comments
 (0)