angular-three 1.4.3 → 1.4.4
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 +23 -8
- package/esm2020/lib/renderer/utils.mjs +6 -4
- package/fesm2015/angular-three.mjs +27 -9
- package/fesm2015/angular-three.mjs.map +1 -1
- package/fesm2020/angular-three.mjs +26 -9
- package/fesm2020/angular-three.mjs.map +1 -1
- package/lib/renderer/utils.d.ts +2 -2
- package/package.json +1 -1
- package/plugin/package.json +1 -1
|
@@ -1460,7 +1460,7 @@ function removeThreeRecursive(array, parent, dispose) {
|
|
|
1460
1460
|
if (array)
|
|
1461
1461
|
[...array].forEach((child) => removeThreeChild(parent, child, dispose));
|
|
1462
1462
|
}
|
|
1463
|
-
function processThreeEvent(instance, priority, eventName, callback, cdr) {
|
|
1463
|
+
function processThreeEvent(instance, priority, eventName, callback, cdr, targetCdr) {
|
|
1464
1464
|
const lS = getLocalState(instance);
|
|
1465
1465
|
if (eventName === SPECIAL_EVENTS.BEFORE_RENDER) {
|
|
1466
1466
|
return lS.store
|
|
@@ -1487,7 +1487,7 @@ function processThreeEvent(instance, priority, eventName, callback, cdr) {
|
|
|
1487
1487
|
};
|
|
1488
1488
|
lS.handlers = {
|
|
1489
1489
|
...lS.handlers,
|
|
1490
|
-
[eventName]: eventToHandler(updatedCallback, cdr),
|
|
1490
|
+
[eventName]: eventToHandler(updatedCallback, cdr, targetCdr),
|
|
1491
1491
|
};
|
|
1492
1492
|
// increment the count everytime
|
|
1493
1493
|
lS.eventCount += 1;
|
|
@@ -1504,9 +1504,11 @@ function processThreeEvent(instance, priority, eventName, callback, cdr) {
|
|
|
1504
1504
|
}
|
|
1505
1505
|
};
|
|
1506
1506
|
}
|
|
1507
|
-
function eventToHandler(callback, cdr) {
|
|
1507
|
+
function eventToHandler(callback, cdr, targetCdr) {
|
|
1508
1508
|
return (event) => {
|
|
1509
1509
|
callback(event);
|
|
1510
|
+
if (targetCdr)
|
|
1511
|
+
targetCdr.detectChanges();
|
|
1510
1512
|
cdr.detectChanges();
|
|
1511
1513
|
};
|
|
1512
1514
|
}
|
|
@@ -1956,11 +1958,16 @@ class NgtRenderer {
|
|
|
1956
1958
|
// on first pass, we return the Root Scene as the root node
|
|
1957
1959
|
if (this.root && !this.first) {
|
|
1958
1960
|
this.first = true;
|
|
1959
|
-
|
|
1961
|
+
const node = this.store.createNode('three', this.store.rootScene);
|
|
1962
|
+
node.__ngt_renderer__[13 /* NgtRendererClassId.injectorFactory */] = () => getDebugNode(element).injector;
|
|
1963
|
+
return node;
|
|
1960
1964
|
}
|
|
1961
1965
|
// handle compound
|
|
1962
|
-
if (this.store.isCompound(name))
|
|
1963
|
-
|
|
1966
|
+
if (this.store.isCompound(name)) {
|
|
1967
|
+
const compound = this.store.createNode('compound', element);
|
|
1968
|
+
compound.__ngt_renderer__[13 /* NgtRendererClassId.injectorFactory */] = () => getDebugNode(element).injector;
|
|
1969
|
+
return compound;
|
|
1970
|
+
}
|
|
1964
1971
|
// handle portal
|
|
1965
1972
|
if (name === SPECIAL_DOM_TAG.NGT_PORTAL) {
|
|
1966
1973
|
return this.store.createNode('portal', element);
|
|
@@ -2000,7 +2007,9 @@ class NgtRenderer {
|
|
|
2000
2007
|
}
|
|
2001
2008
|
return node;
|
|
2002
2009
|
}
|
|
2003
|
-
|
|
2010
|
+
const domNode = this.store.createNode('dom', element);
|
|
2011
|
+
domNode.__ngt_renderer__[13 /* NgtRendererClassId.injectorFactory */] = () => getDebugNode(element).injector;
|
|
2012
|
+
return domNode;
|
|
2004
2013
|
}
|
|
2005
2014
|
createComment(value) {
|
|
2006
2015
|
const comment = this.delegate.createComment(value);
|
|
@@ -2166,16 +2175,24 @@ class NgtRenderer {
|
|
|
2166
2175
|
}
|
|
2167
2176
|
}
|
|
2168
2177
|
listen(target, eventName, callback) {
|
|
2178
|
+
const targetCdr = target.__ngt_renderer__[13 /* NgtRendererClassId.injectorFactory */]?.().get(ChangeDetectorRef, null);
|
|
2169
2179
|
// if target is DOM node, then we pass that to delegate Renderer
|
|
2170
2180
|
if (this.store.isDOM(target)) {
|
|
2171
|
-
|
|
2181
|
+
const callbackWithCdr = (event) => {
|
|
2182
|
+
const value = callback(event);
|
|
2183
|
+
if (targetCdr)
|
|
2184
|
+
targetCdr.detectChanges();
|
|
2185
|
+
this.store.rootCdr.detectChanges();
|
|
2186
|
+
return value;
|
|
2187
|
+
};
|
|
2188
|
+
return this.delegate.listen(target, eventName, callbackWithCdr);
|
|
2172
2189
|
}
|
|
2173
2190
|
if (target.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'three' ||
|
|
2174
2191
|
(target.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'compound' &&
|
|
2175
2192
|
target.__ngt_renderer__[6 /* NgtRendererClassId.compounded */])) {
|
|
2176
2193
|
const instance = target.__ngt_renderer__[6 /* NgtRendererClassId.compounded */] || target;
|
|
2177
2194
|
const priority = getLocalState(target).priority;
|
|
2178
|
-
return processThreeEvent(instance, priority || 0, eventName, callback, this.store.rootCdr);
|
|
2195
|
+
return processThreeEvent(instance, priority || 0, eventName, callback, this.store.rootCdr, targetCdr);
|
|
2179
2196
|
}
|
|
2180
2197
|
if (target.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'compound' &&
|
|
2181
2198
|
!target.__ngt_renderer__[6 /* NgtRendererClassId.compounded */]) {
|