6
6
* found in the LICENSE file at https://angular.io/license
7
7
*/
8
8
9
- import { Injectable , Renderer2 , RendererFactory2 , RendererStyleFlags2 , RendererType2 , ViewEncapsulation } from '@angular/core' ;
9
+ import { APP_ID , Inject , Injectable , Renderer2 , RendererFactory2 , RendererStyleFlags2 , RendererType2 , ViewEncapsulation } from '@angular/core' ;
10
10
11
11
import { EventManager } from './events/event_manager' ;
12
12
import { DomSharedStylesHost } from './shared_styles_host' ;
@@ -63,7 +63,9 @@ export class DomRendererFactory2 implements RendererFactory2 {
63
63
private rendererByCompId = new Map < string , Renderer2 > ( ) ;
64
64
private defaultRenderer : Renderer2 ;
65
65
66
- constructor ( private eventManager : EventManager , private sharedStylesHost : DomSharedStylesHost ) {
66
+ constructor (
67
+ private eventManager : EventManager , private sharedStylesHost : DomSharedStylesHost ,
68
+ @Inject ( APP_ID ) private appId : string ) {
67
69
this . defaultRenderer = new DefaultDomRenderer2 ( eventManager ) ;
68
70
}
69
71
@@ -75,8 +77,8 @@ export class DomRendererFactory2 implements RendererFactory2 {
75
77
case ViewEncapsulation . Emulated : {
76
78
let renderer = this . rendererByCompId . get ( type . id ) ;
77
79
if ( ! renderer ) {
78
- renderer =
79
- new EmulatedEncapsulationDomRenderer2 ( this . eventManager , this . sharedStylesHost , type ) ;
80
+ renderer = new EmulatedEncapsulationDomRenderer2 (
81
+ this . eventManager , this . sharedStylesHost , type , this . appId ) ;
80
82
this . rendererByCompId . set ( type . id , renderer ) ;
81
83
}
82
84
( < EmulatedEncapsulationDomRenderer2 > renderer ) . applyToHost ( element ) ;
@@ -243,13 +245,13 @@ class EmulatedEncapsulationDomRenderer2 extends DefaultDomRenderer2 {
243
245
244
246
constructor (
245
247
eventManager : EventManager , sharedStylesHost : DomSharedStylesHost ,
246
- private component : RendererType2 ) {
248
+ private component : RendererType2 , appId : string ) {
247
249
super ( eventManager ) ;
248
- const styles = flattenStyles ( component . id , component . styles , [ ] ) ;
250
+ const styles = flattenStyles ( appId + '-' + component . id , component . styles , [ ] ) ;
249
251
sharedStylesHost . addStyles ( styles ) ;
250
252
251
- this . contentAttr = shimContentAttribute ( component . id ) ;
252
- this . hostAttr = shimHostAttribute ( component . id ) ;
253
+ this . contentAttr = shimContentAttribute ( appId + '-' + component . id ) ;
254
+ this . hostAttr = shimHostAttribute ( appId + '-' + component . id ) ;
253
255
}
254
256
255
257
applyToHost ( element : any ) { super . setAttribute ( element , this . hostAttr , '' ) ; }
0 commit comments