angular-three 1.2.1 → 1.2.2
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/index.mjs +2 -1
- package/esm2020/lib/renderer/renderer.mjs +31 -24
- package/esm2020/lib/renderer/state.mjs +8 -1
- package/fesm2015/angular-three.mjs +37 -24
- package/fesm2015/angular-three.mjs.map +1 -1
- package/fesm2020/angular-three.mjs +37 -24
- package/fesm2020/angular-three.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/renderer/renderer.d.ts +4 -3
- package/lib/renderer/state.d.ts +2 -0
- package/package.json +2 -3
- package/plugin/package.json +1 -1
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ElementRef, Injectable, inject, InjectionToken, ViewContainerRef, TemplateRef, Directive, Input, EventEmitter, getDebugNode,
|
|
2
|
+
import { ElementRef, Injectable, inject, InjectionToken, ViewContainerRef, TemplateRef, Directive, Input, EventEmitter, getDebugNode, RendererFactory2, ChangeDetectorRef, EnvironmentInjector, createEnvironmentInjector, Component, HostBinding, Output, ViewChild, Pipe, SkipSelf, ContentChild } from '@angular/core';
|
|
3
3
|
import { provideNgxResizeOptions, NgxResize } from 'ngx-resize';
|
|
4
4
|
import { isObservable, of, map, from, tap, retry, catchError, share, ReplaySubject, switchMap, forkJoin, take, BehaviorSubject, startWith, filter, distinctUntilChanged, takeUntil, merge } from 'rxjs';
|
|
5
5
|
import * as THREE from 'three';
|
|
6
6
|
import { DOCUMENT, NgForOf, NgIf } from '@angular/common';
|
|
7
7
|
import { RxState, selectSlice } from '@rx-angular/state';
|
|
8
|
-
import { ɵDomRendererFactory2 } from '@angular/platform-browser';
|
|
9
8
|
import { __classPrivateFieldGet } from 'tslib';
|
|
10
9
|
|
|
11
10
|
const idCache = {};
|
|
@@ -1537,6 +1536,10 @@ class NgtRendererStore {
|
|
|
1537
1536
|
undefined,
|
|
1538
1537
|
];
|
|
1539
1538
|
const rendererNode = Object.assign(node, { __ngt_renderer__: state });
|
|
1539
|
+
// assign ownerDocument to node so we can use HostListener in Component
|
|
1540
|
+
if (!rendererNode['ownerDocument']) {
|
|
1541
|
+
rendererNode['ownerDocument'] = this.root.document;
|
|
1542
|
+
}
|
|
1540
1543
|
if (state[0 /* NgtRendererClassId.type */] === 'comment') {
|
|
1541
1544
|
state[13 /* NgtRendererClassId.injectorFactory */] = () => getDebugNode(rendererNode).injector;
|
|
1542
1545
|
// we attach an arrow function to the Comment node
|
|
@@ -1694,6 +1697,9 @@ class NgtRendererStore {
|
|
|
1694
1697
|
isCompound(name) {
|
|
1695
1698
|
return this.root.compoundPrefixes.some((prefix) => name.startsWith(prefix));
|
|
1696
1699
|
}
|
|
1700
|
+
isDocument(node) {
|
|
1701
|
+
return node === this.root.document;
|
|
1702
|
+
}
|
|
1697
1703
|
get rootScene() {
|
|
1698
1704
|
return this.root.store.get('scene');
|
|
1699
1705
|
}
|
|
@@ -1868,17 +1874,18 @@ class NgtRendererStore {
|
|
|
1868
1874
|
|
|
1869
1875
|
class NgtRendererFactory {
|
|
1870
1876
|
constructor() {
|
|
1871
|
-
this.
|
|
1877
|
+
this.delegateRendererFactory = inject(RendererFactory2, { skipSelf: true });
|
|
1872
1878
|
this.cdr = inject(ChangeDetectorRef);
|
|
1873
1879
|
this.store = inject(NgtStore);
|
|
1874
1880
|
this.catalogue = inject(NGT_CATALOGUE);
|
|
1875
1881
|
this.compoundPrefixes = inject(NGT_COMPOUND_PREFIXES);
|
|
1882
|
+
this.document = inject(DOCUMENT);
|
|
1876
1883
|
this.rendererMap = new Map();
|
|
1877
1884
|
}
|
|
1878
1885
|
createRenderer(hostElement, type) {
|
|
1879
|
-
const
|
|
1886
|
+
const delegateRenderer = this.delegateRendererFactory.createRenderer(hostElement, type);
|
|
1880
1887
|
if (!type)
|
|
1881
|
-
return
|
|
1888
|
+
return delegateRenderer;
|
|
1882
1889
|
let renderer = this.rendererMap.get(type.id);
|
|
1883
1890
|
if (renderer)
|
|
1884
1891
|
return renderer;
|
|
@@ -1887,8 +1894,9 @@ class NgtRendererFactory {
|
|
|
1887
1894
|
store: this.store,
|
|
1888
1895
|
cdr: this.cdr,
|
|
1889
1896
|
compoundPrefixes: this.compoundPrefixes,
|
|
1897
|
+
document: this.document,
|
|
1890
1898
|
});
|
|
1891
|
-
renderer = new NgtRenderer(
|
|
1899
|
+
renderer = new NgtRenderer(delegateRenderer, store, this.catalogue, true);
|
|
1892
1900
|
this.rendererMap.set(type.id, renderer);
|
|
1893
1901
|
}
|
|
1894
1902
|
if (!renderer) {
|
|
@@ -1896,8 +1904,9 @@ class NgtRendererFactory {
|
|
|
1896
1904
|
store: this.store,
|
|
1897
1905
|
cdr: this.cdr,
|
|
1898
1906
|
compoundPrefixes: this.compoundPrefixes,
|
|
1907
|
+
document: this.document,
|
|
1899
1908
|
});
|
|
1900
|
-
renderer = new NgtRenderer(
|
|
1909
|
+
renderer = new NgtRenderer(delegateRenderer, store, this.catalogue);
|
|
1901
1910
|
this.rendererMap.set(type.id, renderer);
|
|
1902
1911
|
}
|
|
1903
1912
|
return renderer;
|
|
@@ -1909,26 +1918,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
1909
1918
|
type: Injectable
|
|
1910
1919
|
}] });
|
|
1911
1920
|
class NgtRenderer {
|
|
1912
|
-
constructor(
|
|
1913
|
-
this.
|
|
1921
|
+
constructor(delegate, store, catalogue, root = false) {
|
|
1922
|
+
this.delegate = delegate;
|
|
1914
1923
|
this.store = store;
|
|
1915
1924
|
this.catalogue = catalogue;
|
|
1916
1925
|
this.root = root;
|
|
1917
1926
|
this.first = false;
|
|
1918
|
-
this.createText = this.
|
|
1919
|
-
this.destroy = this.
|
|
1927
|
+
this.createText = this.delegate.createText.bind(this.delegate);
|
|
1928
|
+
this.destroy = this.delegate.destroy.bind(this.delegate);
|
|
1920
1929
|
this.destroyNode = null;
|
|
1921
|
-
this.selectRootElement = this.
|
|
1922
|
-
this.nextSibling = this.
|
|
1923
|
-
this.removeAttribute = this.
|
|
1924
|
-
this.addClass = this.
|
|
1925
|
-
this.removeClass = this.
|
|
1926
|
-
this.setStyle = this.
|
|
1927
|
-
this.removeStyle = this.
|
|
1928
|
-
this.setValue = this.
|
|
1930
|
+
this.selectRootElement = this.delegate.selectRootElement.bind(this.delegate);
|
|
1931
|
+
this.nextSibling = this.delegate.nextSibling.bind(this.delegate);
|
|
1932
|
+
this.removeAttribute = this.delegate.removeAttribute.bind(this.delegate);
|
|
1933
|
+
this.addClass = this.delegate.addClass.bind(this.delegate);
|
|
1934
|
+
this.removeClass = this.delegate.removeClass.bind(this.delegate);
|
|
1935
|
+
this.setStyle = this.delegate.setStyle.bind(this.delegate);
|
|
1936
|
+
this.removeStyle = this.delegate.removeStyle.bind(this.delegate);
|
|
1937
|
+
this.setValue = this.delegate.setValue.bind(this.delegate);
|
|
1929
1938
|
}
|
|
1930
1939
|
createElement(name, namespace) {
|
|
1931
|
-
const element = this.
|
|
1940
|
+
const element = this.delegate.createElement(name, namespace);
|
|
1932
1941
|
// on first pass, we return the Root Scene as the root node
|
|
1933
1942
|
if (this.root && !this.first) {
|
|
1934
1943
|
this.first = true;
|
|
@@ -1979,7 +1988,7 @@ class NgtRenderer {
|
|
|
1979
1988
|
return this.store.createNode('dom', element);
|
|
1980
1989
|
}
|
|
1981
1990
|
createComment(value) {
|
|
1982
|
-
const comment = this.
|
|
1991
|
+
const comment = this.delegate.createComment(value);
|
|
1983
1992
|
return this.store.createNode('comment', comment);
|
|
1984
1993
|
}
|
|
1985
1994
|
appendChild(parent, newChild) {
|
|
@@ -2101,7 +2110,7 @@ class NgtRenderer {
|
|
|
2101
2110
|
parentNode(node) {
|
|
2102
2111
|
if (node.__ngt_renderer__?.[1 /* NgtRendererClassId.parent */])
|
|
2103
2112
|
return node.__ngt_renderer__[1 /* NgtRendererClassId.parent */];
|
|
2104
|
-
return this.
|
|
2113
|
+
return this.delegate.parentNode(node);
|
|
2105
2114
|
}
|
|
2106
2115
|
setAttribute(el, name, value, namespace) {
|
|
2107
2116
|
if (el.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'compound') {
|
|
@@ -2142,6 +2151,10 @@ class NgtRenderer {
|
|
|
2142
2151
|
}
|
|
2143
2152
|
}
|
|
2144
2153
|
listen(target, eventName, callback) {
|
|
2154
|
+
// if target is Document (DOM), then we pass that to delegate Renderer
|
|
2155
|
+
if (this.store.isDocument(target)) {
|
|
2156
|
+
return this.delegate.listen(target, eventName, callback);
|
|
2157
|
+
}
|
|
2145
2158
|
if (target.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'three' ||
|
|
2146
2159
|
(target.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'compound' &&
|
|
2147
2160
|
target.__ngt_renderer__[6 /* NgtRendererClassId.compounded */])) {
|
|
@@ -2159,7 +2172,7 @@ class NgtRenderer {
|
|
|
2159
2172
|
return () => { };
|
|
2160
2173
|
}
|
|
2161
2174
|
get data() {
|
|
2162
|
-
return this.
|
|
2175
|
+
return this.delegate.data;
|
|
2163
2176
|
}
|
|
2164
2177
|
}
|
|
2165
2178
|
|
|
@@ -2862,5 +2875,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
2862
2875
|
* Generated bundle index. Do not edit.
|
|
2863
2876
|
*/
|
|
2864
2877
|
|
|
2865
|
-
export { NGT_CATALOGUE, NgtArgs, NgtCanvas, NgtPortal, NgtPortalBeforeRender, NgtPortalContent, NgtPush, NgtRepeat, NgtRxStore, NgtStore, checkNeedsUpdate, checkUpdate, createAttachFunction, extend, getLocalState, injectBeforeRender, injectNgtDestroy, injectNgtLoader, injectNgtRef, invalidateInstance, is, makeDefaultCamera, makeDefaultRenderer, makeDpr, makeId, makeObjectGraph, prepare, rootStateMap, startWithUndefined, tapEffect, updateCamera };
|
|
2878
|
+
export { NGT_CATALOGUE, NgtArgs, NgtCanvas, NgtPortal, NgtPortalBeforeRender, NgtPortalContent, NgtPush, NgtRepeat, NgtRxStore, NgtStore, applyProps, checkNeedsUpdate, checkUpdate, createAttachFunction, extend, getLocalState, injectBeforeRender, injectNgtDestroy, injectNgtLoader, injectNgtRef, invalidateInstance, is, makeDefaultCamera, makeDefaultRenderer, makeDpr, makeId, makeObjectGraph, prepare, rootStateMap, startWithUndefined, tapEffect, updateCamera };
|
|
2866
2879
|
//# sourceMappingURL=angular-three.mjs.map
|