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,12 +1,11 @@
|
|
|
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 { __rest, __classPrivateFieldGet } from 'tslib';
|
|
7
7
|
import { DOCUMENT, NgForOf, NgIf } from '@angular/common';
|
|
8
8
|
import { RxState, selectSlice } from '@rx-angular/state';
|
|
9
|
-
import { ɵDomRendererFactory2 } from '@angular/platform-browser';
|
|
10
9
|
|
|
11
10
|
const idCache = {};
|
|
12
11
|
function makeId(event) {
|
|
@@ -1513,6 +1512,10 @@ class NgtRendererStore {
|
|
|
1513
1512
|
undefined,
|
|
1514
1513
|
];
|
|
1515
1514
|
const rendererNode = Object.assign(node, { __ngt_renderer__: state });
|
|
1515
|
+
// assign ownerDocument to node so we can use HostListener in Component
|
|
1516
|
+
if (!rendererNode['ownerDocument']) {
|
|
1517
|
+
rendererNode['ownerDocument'] = this.root.document;
|
|
1518
|
+
}
|
|
1516
1519
|
if (state[0 /* NgtRendererClassId.type */] === 'comment') {
|
|
1517
1520
|
state[13 /* NgtRendererClassId.injectorFactory */] = () => getDebugNode(rendererNode).injector;
|
|
1518
1521
|
// we attach an arrow function to the Comment node
|
|
@@ -1671,6 +1674,9 @@ class NgtRendererStore {
|
|
|
1671
1674
|
isCompound(name) {
|
|
1672
1675
|
return this.root.compoundPrefixes.some((prefix) => name.startsWith(prefix));
|
|
1673
1676
|
}
|
|
1677
|
+
isDocument(node) {
|
|
1678
|
+
return node === this.root.document;
|
|
1679
|
+
}
|
|
1674
1680
|
get rootScene() {
|
|
1675
1681
|
return this.root.store.get('scene');
|
|
1676
1682
|
}
|
|
@@ -1846,17 +1852,18 @@ class NgtRendererStore {
|
|
|
1846
1852
|
|
|
1847
1853
|
class NgtRendererFactory {
|
|
1848
1854
|
constructor() {
|
|
1849
|
-
this.
|
|
1855
|
+
this.delegateRendererFactory = inject(RendererFactory2, { skipSelf: true });
|
|
1850
1856
|
this.cdr = inject(ChangeDetectorRef);
|
|
1851
1857
|
this.store = inject(NgtStore);
|
|
1852
1858
|
this.catalogue = inject(NGT_CATALOGUE);
|
|
1853
1859
|
this.compoundPrefixes = inject(NGT_COMPOUND_PREFIXES);
|
|
1860
|
+
this.document = inject(DOCUMENT);
|
|
1854
1861
|
this.rendererMap = new Map();
|
|
1855
1862
|
}
|
|
1856
1863
|
createRenderer(hostElement, type) {
|
|
1857
|
-
const
|
|
1864
|
+
const delegateRenderer = this.delegateRendererFactory.createRenderer(hostElement, type);
|
|
1858
1865
|
if (!type)
|
|
1859
|
-
return
|
|
1866
|
+
return delegateRenderer;
|
|
1860
1867
|
let renderer = this.rendererMap.get(type.id);
|
|
1861
1868
|
if (renderer)
|
|
1862
1869
|
return renderer;
|
|
@@ -1865,8 +1872,9 @@ class NgtRendererFactory {
|
|
|
1865
1872
|
store: this.store,
|
|
1866
1873
|
cdr: this.cdr,
|
|
1867
1874
|
compoundPrefixes: this.compoundPrefixes,
|
|
1875
|
+
document: this.document,
|
|
1868
1876
|
});
|
|
1869
|
-
renderer = new NgtRenderer(
|
|
1877
|
+
renderer = new NgtRenderer(delegateRenderer, store, this.catalogue, true);
|
|
1870
1878
|
this.rendererMap.set(type.id, renderer);
|
|
1871
1879
|
}
|
|
1872
1880
|
if (!renderer) {
|
|
@@ -1874,8 +1882,9 @@ class NgtRendererFactory {
|
|
|
1874
1882
|
store: this.store,
|
|
1875
1883
|
cdr: this.cdr,
|
|
1876
1884
|
compoundPrefixes: this.compoundPrefixes,
|
|
1885
|
+
document: this.document,
|
|
1877
1886
|
});
|
|
1878
|
-
renderer = new NgtRenderer(
|
|
1887
|
+
renderer = new NgtRenderer(delegateRenderer, store, this.catalogue);
|
|
1879
1888
|
this.rendererMap.set(type.id, renderer);
|
|
1880
1889
|
}
|
|
1881
1890
|
return renderer;
|
|
@@ -1887,26 +1896,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
1887
1896
|
type: Injectable
|
|
1888
1897
|
}] });
|
|
1889
1898
|
class NgtRenderer {
|
|
1890
|
-
constructor(
|
|
1891
|
-
this.
|
|
1899
|
+
constructor(delegate, store, catalogue, root = false) {
|
|
1900
|
+
this.delegate = delegate;
|
|
1892
1901
|
this.store = store;
|
|
1893
1902
|
this.catalogue = catalogue;
|
|
1894
1903
|
this.root = root;
|
|
1895
1904
|
this.first = false;
|
|
1896
|
-
this.createText = this.
|
|
1897
|
-
this.destroy = this.
|
|
1905
|
+
this.createText = this.delegate.createText.bind(this.delegate);
|
|
1906
|
+
this.destroy = this.delegate.destroy.bind(this.delegate);
|
|
1898
1907
|
this.destroyNode = null;
|
|
1899
|
-
this.selectRootElement = this.
|
|
1900
|
-
this.nextSibling = this.
|
|
1901
|
-
this.removeAttribute = this.
|
|
1902
|
-
this.addClass = this.
|
|
1903
|
-
this.removeClass = this.
|
|
1904
|
-
this.setStyle = this.
|
|
1905
|
-
this.removeStyle = this.
|
|
1906
|
-
this.setValue = this.
|
|
1908
|
+
this.selectRootElement = this.delegate.selectRootElement.bind(this.delegate);
|
|
1909
|
+
this.nextSibling = this.delegate.nextSibling.bind(this.delegate);
|
|
1910
|
+
this.removeAttribute = this.delegate.removeAttribute.bind(this.delegate);
|
|
1911
|
+
this.addClass = this.delegate.addClass.bind(this.delegate);
|
|
1912
|
+
this.removeClass = this.delegate.removeClass.bind(this.delegate);
|
|
1913
|
+
this.setStyle = this.delegate.setStyle.bind(this.delegate);
|
|
1914
|
+
this.removeStyle = this.delegate.removeStyle.bind(this.delegate);
|
|
1915
|
+
this.setValue = this.delegate.setValue.bind(this.delegate);
|
|
1907
1916
|
}
|
|
1908
1917
|
createElement(name, namespace) {
|
|
1909
|
-
const element = this.
|
|
1918
|
+
const element = this.delegate.createElement(name, namespace);
|
|
1910
1919
|
// on first pass, we return the Root Scene as the root node
|
|
1911
1920
|
if (this.root && !this.first) {
|
|
1912
1921
|
this.first = true;
|
|
@@ -1957,7 +1966,7 @@ class NgtRenderer {
|
|
|
1957
1966
|
return this.store.createNode('dom', element);
|
|
1958
1967
|
}
|
|
1959
1968
|
createComment(value) {
|
|
1960
|
-
const comment = this.
|
|
1969
|
+
const comment = this.delegate.createComment(value);
|
|
1961
1970
|
return this.store.createNode('comment', comment);
|
|
1962
1971
|
}
|
|
1963
1972
|
appendChild(parent, newChild) {
|
|
@@ -2080,7 +2089,7 @@ class NgtRenderer {
|
|
|
2080
2089
|
var _a;
|
|
2081
2090
|
if ((_a = node.__ngt_renderer__) === null || _a === void 0 ? void 0 : _a[1 /* NgtRendererClassId.parent */])
|
|
2082
2091
|
return node.__ngt_renderer__[1 /* NgtRendererClassId.parent */];
|
|
2083
|
-
return this.
|
|
2092
|
+
return this.delegate.parentNode(node);
|
|
2084
2093
|
}
|
|
2085
2094
|
setAttribute(el, name, value, namespace) {
|
|
2086
2095
|
if (el.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'compound') {
|
|
@@ -2118,6 +2127,10 @@ class NgtRenderer {
|
|
|
2118
2127
|
}
|
|
2119
2128
|
}
|
|
2120
2129
|
listen(target, eventName, callback) {
|
|
2130
|
+
// if target is Document (DOM), then we pass that to delegate Renderer
|
|
2131
|
+
if (this.store.isDocument(target)) {
|
|
2132
|
+
return this.delegate.listen(target, eventName, callback);
|
|
2133
|
+
}
|
|
2121
2134
|
if (target.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'three' ||
|
|
2122
2135
|
(target.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'compound' &&
|
|
2123
2136
|
target.__ngt_renderer__[6 /* NgtRendererClassId.compounded */])) {
|
|
@@ -2135,7 +2148,7 @@ class NgtRenderer {
|
|
|
2135
2148
|
return () => { };
|
|
2136
2149
|
}
|
|
2137
2150
|
get data() {
|
|
2138
|
-
return this.
|
|
2151
|
+
return this.delegate.data;
|
|
2139
2152
|
}
|
|
2140
2153
|
}
|
|
2141
2154
|
|
|
@@ -2822,5 +2835,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
2822
2835
|
* Generated bundle index. Do not edit.
|
|
2823
2836
|
*/
|
|
2824
2837
|
|
|
2825
|
-
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 };
|
|
2838
|
+
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 };
|
|
2826
2839
|
//# sourceMappingURL=angular-three.mjs.map
|