11import { ChangeDetectorRef , inject , Injectable , Renderer2 , RendererFactory2 , RendererType2 } from '@angular/core' ;
2- import { ɵDomRendererFactory2 as DomRendererFactory2 } from '@angular/platform-browser' ;
32import { NGT_CATALOGUE } from '../di/catalogue' ;
43import { NgtStore } from '../stores/store' ;
54import { getLocalState , prepare } from '../utils/instance' ;
@@ -11,7 +10,7 @@ import { attachThreeChild, kebabToPascal, processThreeEvent, removeThreeChild, S
1110
1211@Injectable ( )
1312export class NgtRendererFactory implements RendererFactory2 {
14- private readonly domRendererFactory = inject ( DomRendererFactory2 ) ;
13+ private readonly delegateRendererFactory = inject ( RendererFactory2 , { skipSelf : true } ) ;
1514 private readonly cdr = inject ( ChangeDetectorRef ) ;
1615 private readonly store = inject ( NgtStore ) ;
1716 private readonly catalogue = inject ( NGT_CATALOGUE ) ;
@@ -20,8 +19,8 @@ export class NgtRendererFactory implements RendererFactory2 {
2019 private rendererMap = new Map < string , Renderer2 > ( ) ;
2120
2221 createRenderer ( hostElement : any , type : RendererType2 | null ) : Renderer2 {
23- const domRenderer = this . domRendererFactory . createRenderer ( hostElement , type ) ;
24- if ( ! type ) return domRenderer ;
22+ const delegateRenderer = this . delegateRendererFactory . createRenderer ( hostElement , type ) ;
23+ if ( ! type ) return delegateRenderer ;
2524
2625 let renderer = this . rendererMap . get ( type . id ) ;
2726 if ( renderer ) return renderer ;
@@ -32,7 +31,7 @@ export class NgtRendererFactory implements RendererFactory2 {
3231 cdr : this . cdr ,
3332 compoundPrefixes : this . compoundPrefixes ,
3433 } ) ;
35- renderer = new NgtRenderer ( domRenderer , store , this . catalogue , true ) ;
34+ renderer = new NgtRenderer ( delegateRenderer , store , this . catalogue , true ) ;
3635 this . rendererMap . set ( type . id , renderer ) ;
3736 }
3837
@@ -42,7 +41,7 @@ export class NgtRendererFactory implements RendererFactory2 {
4241 cdr : this . cdr ,
4342 compoundPrefixes : this . compoundPrefixes ,
4443 } ) ;
45- renderer = new NgtRenderer ( domRenderer , store , this . catalogue ) ;
44+ renderer = new NgtRenderer ( delegateRenderer , store , this . catalogue ) ;
4645 this . rendererMap . set ( type . id , renderer ) ;
4746 }
4847
@@ -54,14 +53,14 @@ export class NgtRenderer implements Renderer2 {
5453 private first = false ;
5554
5655 constructor (
57- private readonly domRenderer : Renderer2 ,
56+ private readonly delegate : Renderer2 ,
5857 private readonly store : NgtRendererStore ,
5958 private readonly catalogue : Record < string , new ( ...args : any [ ] ) => any > ,
6059 private readonly root = false
6160 ) { }
6261
6362 createElement ( name : string , namespace ?: string | null | undefined ) {
64- const element = this . domRenderer . createElement ( name , namespace ) ;
63+ const element = this . delegate . createElement ( name , namespace ) ;
6564
6665 // on first pass, we return the Root Scene as the root node
6766 if ( this . root && ! this . first ) {
@@ -121,7 +120,7 @@ export class NgtRenderer implements Renderer2 {
121120 }
122121
123122 createComment ( value : string ) {
124- const comment = this . domRenderer . createComment ( value ) ;
123+ const comment = this . delegate . createComment ( value ) ;
125124 return this . store . createNode ( 'comment' , comment ) ;
126125 }
127126
@@ -266,7 +265,7 @@ export class NgtRenderer implements Renderer2 {
266265
267266 parentNode ( node : NgtRendererNode ) {
268267 if ( node . __ngt_renderer__ ?. [ NgtRendererClassId . parent ] ) return node . __ngt_renderer__ [ NgtRendererClassId . parent ] ;
269- return this . domRenderer . parentNode ( node ) ;
268+ return this . delegate . parentNode ( node ) ;
270269 }
271270
272271 setAttribute ( el : NgtRendererNode , name : string , value : string , namespace ?: string | null | undefined ) : void {
@@ -342,17 +341,17 @@ export class NgtRenderer implements Renderer2 {
342341 }
343342
344343 get data ( ) : { [ key : string ] : any } {
345- return this . domRenderer . data ;
344+ return this . delegate . data ;
346345 }
347- createText = this . domRenderer . createText . bind ( this . domRenderer ) ;
348- destroy = this . domRenderer . destroy . bind ( this . domRenderer ) ;
346+ createText = this . delegate . createText . bind ( this . delegate ) ;
347+ destroy = this . delegate . destroy . bind ( this . delegate ) ;
349348 destroyNode : ( ( node : any ) => void ) | null = null ;
350- selectRootElement = this . domRenderer . selectRootElement . bind ( this . domRenderer ) ;
351- nextSibling = this . domRenderer . nextSibling . bind ( this . domRenderer ) ;
352- removeAttribute = this . domRenderer . removeAttribute . bind ( this . domRenderer ) ;
353- addClass = this . domRenderer . addClass . bind ( this . domRenderer ) ;
354- removeClass = this . domRenderer . removeClass . bind ( this . domRenderer ) ;
355- setStyle = this . domRenderer . setStyle . bind ( this . domRenderer ) ;
356- removeStyle = this . domRenderer . removeStyle . bind ( this . domRenderer ) ;
357- setValue = this . domRenderer . setValue . bind ( this . domRenderer ) ;
349+ selectRootElement = this . delegate . selectRootElement . bind ( this . delegate ) ;
350+ nextSibling = this . delegate . nextSibling . bind ( this . delegate ) ;
351+ removeAttribute = this . delegate . removeAttribute . bind ( this . delegate ) ;
352+ addClass = this . delegate . addClass . bind ( this . delegate ) ;
353+ removeClass = this . delegate . removeClass . bind ( this . delegate ) ;
354+ setStyle = this . delegate . setStyle . bind ( this . delegate ) ;
355+ removeStyle = this . delegate . removeStyle . bind ( this . delegate ) ;
356+ setValue = this . delegate . setValue . bind ( this . delegate ) ;
358357}
0 commit comments