angular-three 1.7.2 → 1.8.1
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 +8 -2
- package/esm2020/lib/routed-scene.mjs +29 -0
- package/fesm2015/angular-three.mjs +33 -2
- package/fesm2015/angular-three.mjs.map +1 -1
- package/fesm2020/angular-three.mjs +33 -2
- package/fesm2020/angular-three.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/renderer/renderer.d.ts +1 -0
- package/lib/routed-scene.d.ts +8 -0
- package/package.json +3 -2
- package/plugin/package.json +1 -1
|
@@ -6,6 +6,8 @@ import * as THREE from 'three';
|
|
|
6
6
|
import { DOCUMENT, NgForOf, NgIf } from '@angular/common';
|
|
7
7
|
import { RxState, selectSlice } from '@rx-angular/state';
|
|
8
8
|
import { __classPrivateFieldGet } from 'tslib';
|
|
9
|
+
import * as i1 from '@angular/router';
|
|
10
|
+
import { ActivationEnd, RouterOutlet } from '@angular/router';
|
|
9
11
|
|
|
10
12
|
const idCache = {};
|
|
11
13
|
function makeId(event) {
|
|
@@ -1962,6 +1964,7 @@ class NgtRendererFactory {
|
|
|
1962
1964
|
this.compoundPrefixes = inject(NGT_COMPOUND_PREFIXES);
|
|
1963
1965
|
this.document = inject(DOCUMENT);
|
|
1964
1966
|
this.rendererMap = new Map();
|
|
1967
|
+
this.routedSet = new Set();
|
|
1965
1968
|
this.portals = [];
|
|
1966
1969
|
this.rendererStore = new NgtRendererStore({
|
|
1967
1970
|
store: this.store,
|
|
@@ -1975,9 +1978,14 @@ class NgtRendererFactory {
|
|
|
1975
1978
|
const delegateRenderer = this.delegateRendererFactory.createRenderer(hostElement, type);
|
|
1976
1979
|
if (!type)
|
|
1977
1980
|
return delegateRenderer;
|
|
1981
|
+
if (type['type']['isRoutedScene']) {
|
|
1982
|
+
this.routedSet.add(type.id);
|
|
1983
|
+
}
|
|
1978
1984
|
let renderer = this.rendererMap.get(type.id);
|
|
1979
1985
|
if (!renderer) {
|
|
1980
|
-
renderer = new NgtRenderer(delegateRenderer, this.rendererStore, this.catalogue,
|
|
1986
|
+
renderer = new NgtRenderer(delegateRenderer, this.rendererStore, this.catalogue,
|
|
1987
|
+
// setting root scene if there's no routed scene OR this component is the routed Scene
|
|
1988
|
+
!hostElement && (this.routedSet.size === 0 || this.routedSet.has(type.id)));
|
|
1981
1989
|
this.rendererMap.set(type.id, renderer);
|
|
1982
1990
|
}
|
|
1983
1991
|
return renderer;
|
|
@@ -3011,9 +3019,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImpor
|
|
|
3011
3019
|
args: ['portalContentAnchor', { read: ViewContainerRef, static: true }]
|
|
3012
3020
|
}] } });
|
|
3013
3021
|
|
|
3022
|
+
class NgtRoutedScene {
|
|
3023
|
+
constructor(router) {
|
|
3024
|
+
const { destroy$, cdr } = injectNgtDestroy();
|
|
3025
|
+
router.events
|
|
3026
|
+
.pipe(filter((event) => event instanceof ActivationEnd), takeUntil(destroy$))
|
|
3027
|
+
.subscribe(() => {
|
|
3028
|
+
cdr.detectChanges();
|
|
3029
|
+
});
|
|
3030
|
+
}
|
|
3031
|
+
}
|
|
3032
|
+
NgtRoutedScene.isRoutedScene = true;
|
|
3033
|
+
NgtRoutedScene.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtRoutedScene, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
3034
|
+
NgtRoutedScene.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtRoutedScene, isStandalone: true, selector: "ngt-routed-scene", ngImport: i0, template: `<router-outlet />`, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
|
|
3035
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtRoutedScene, decorators: [{
|
|
3036
|
+
type: Component,
|
|
3037
|
+
args: [{
|
|
3038
|
+
standalone: true,
|
|
3039
|
+
selector: 'ngt-routed-scene',
|
|
3040
|
+
template: `<router-outlet />`,
|
|
3041
|
+
imports: [RouterOutlet],
|
|
3042
|
+
}]
|
|
3043
|
+
}], ctorParameters: function () { return [{ type: i1.Router }]; } });
|
|
3044
|
+
|
|
3014
3045
|
/**
|
|
3015
3046
|
* Generated bundle index. Do not edit.
|
|
3016
3047
|
*/
|
|
3017
3048
|
|
|
3018
|
-
export { NGT_CATALOGUE, NgtArgs, NgtCanvas, NgtPortal, NgtPortalBeforeRender, NgtPortalContent, NgtPush, NgtRepeat, NgtRxStore, NgtStore, addAfterEffect, addEffect, addTail, applyProps, checkNeedsUpdate, checkUpdate, createAttachFunction, createLoop, createRunInContext, extend, flushGlobalEffects, getLocalState, injectBeforeRender, injectNgtDestroy, injectNgtLoader, injectNgtRef, invalidateInstance, is, makeDefaultCamera, makeDefaultRenderer, makeDpr, makeId, makeObjectGraph, prepare, rootStateMap, safeDetectChanges, startWithUndefined, tapEffect, updateCamera };
|
|
3049
|
+
export { NGT_CATALOGUE, NgtArgs, NgtCanvas, NgtPortal, NgtPortalBeforeRender, NgtPortalContent, NgtPush, NgtRepeat, NgtRoutedScene, NgtRxStore, NgtStore, addAfterEffect, addEffect, addTail, applyProps, checkNeedsUpdate, checkUpdate, createAttachFunction, createLoop, createRunInContext, extend, flushGlobalEffects, getLocalState, injectBeforeRender, injectNgtDestroy, injectNgtLoader, injectNgtRef, invalidateInstance, is, makeDefaultCamera, makeDefaultRenderer, makeDpr, makeId, makeObjectGraph, prepare, rootStateMap, safeDetectChanges, startWithUndefined, tapEffect, updateCamera };
|
|
3019
3050
|
//# sourceMappingURL=angular-three.mjs.map
|