angular-three 1.6.1 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/renderer/renderer.mjs +20 -8
- package/esm2020/lib/renderer/state.mjs +5 -3
- package/fesm2015/angular-three.mjs +23 -10
- package/fesm2015/angular-three.mjs.map +1 -1
- package/fesm2020/angular-three.mjs +23 -9
- package/fesm2020/angular-three.mjs.map +1 -1
- package/lib/renderer/renderer.d.ts +3 -2
- package/package.json +1 -1
- package/plugin/package.json +1 -1
|
@@ -1723,8 +1723,10 @@ class NgtRendererStore {
|
|
|
1723
1723
|
return this.root.compoundPrefixes.some((prefix) => name.startsWith(prefix));
|
|
1724
1724
|
}
|
|
1725
1725
|
isDOM(node) {
|
|
1726
|
-
|
|
1727
|
-
|
|
1726
|
+
const rendererNode = node['__ngt_renderer__'];
|
|
1727
|
+
return (!rendererNode ||
|
|
1728
|
+
(rendererNode[0 /* NgtRendererClassId.type */] !== 'compound' &&
|
|
1729
|
+
(node instanceof Element || node instanceof Document || node instanceof Window)));
|
|
1728
1730
|
}
|
|
1729
1731
|
get rootScene() {
|
|
1730
1732
|
return this.root.store.get('scene');
|
|
@@ -2192,16 +2194,28 @@ class NgtRenderer {
|
|
|
2192
2194
|
listen(target, eventName, callback) {
|
|
2193
2195
|
const targetCdr = target.__ngt_renderer__?.[13 /* NgtRendererClassId.injectorFactory */]?.().get(ChangeDetectorRef, null);
|
|
2194
2196
|
// if target is DOM node, then we pass that to delegate Renderer
|
|
2197
|
+
const callbackWithCdr = (event) => {
|
|
2198
|
+
const value = callback(event);
|
|
2199
|
+
if (targetCdr)
|
|
2200
|
+
targetCdr.detectChanges();
|
|
2201
|
+
this.store.rootCdr.detectChanges();
|
|
2202
|
+
return value;
|
|
2203
|
+
};
|
|
2195
2204
|
if (this.store.isDOM(target)) {
|
|
2196
|
-
const callbackWithCdr = (event) => {
|
|
2197
|
-
const value = callback(event);
|
|
2198
|
-
if (targetCdr)
|
|
2199
|
-
targetCdr.detectChanges();
|
|
2200
|
-
this.store.rootCdr.detectChanges();
|
|
2201
|
-
return value;
|
|
2202
|
-
};
|
|
2203
2205
|
return this.delegate.listen(target, eventName, callbackWithCdr);
|
|
2204
2206
|
}
|
|
2207
|
+
// @ts-expect-error - we know that target is not DOM node
|
|
2208
|
+
if (target === this.store.rootScene) {
|
|
2209
|
+
let [domTarget, event] = eventName.split(':');
|
|
2210
|
+
if (event == null) {
|
|
2211
|
+
event = domTarget;
|
|
2212
|
+
domTarget = '';
|
|
2213
|
+
}
|
|
2214
|
+
const eventTarget = domTarget === 'window'
|
|
2215
|
+
? target['ownerDocument']['defaultView']
|
|
2216
|
+
: target['ownerDocument'];
|
|
2217
|
+
return this.delegate.listen(eventTarget, event, callbackWithCdr);
|
|
2218
|
+
}
|
|
2205
2219
|
if (target.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'three' ||
|
|
2206
2220
|
(target.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'compound' &&
|
|
2207
2221
|
target.__ngt_renderer__[6 /* NgtRendererClassId.compounded */])) {
|