@@ -43,52 +43,58 @@ export interface ICplayerViewOption {
4343 generateBeforeElement ?: boolean ;
4444 deleteElementAfterGenerate ?: boolean ;
4545 zoomOutKana ?: boolean ;
46- showPlaylist ?: boolean
46+ showPlaylist ?: boolean ;
47+ width ?: string ;
48+ size ?: string ;
49+ style ?: string ;
4750}
4851
4952const defaultOption : ICplayerViewOption = {
5053 element : document . body ,
5154 generateBeforeElement : false ,
5255 deleteElementAfterGenerate : false ,
5356 zoomOutKana : false ,
54- showPlaylist : false
57+ showPlaylist : false ,
58+ width : '' ,
59+ size : '12px' ,
60+ style : ''
5561}
5662
57- function createShadowElement ( targetElement : Element , htmlTemplate : string ) {
63+ function createShadowElement ( targetElement : Element , htmlTemplate : string , style : string ) {
5864 let shadowRoot = ( targetElement as any ) . createShadowRoot ( ) as ShadowRoot ;
5965 shadowRoot . innerHTML = htmlTemplate ;
6066 let styleElement = document . createElement ( 'style' ) ;
6167 styleElement . innerText = style ;
6268 shadowRoot . appendChild ( styleElement ) ;
63- return shadowRoot . firstChild as Element ;
69+ return shadowRoot . firstChild as HTMLElement ;
6470}
6571
66- function createBeforeElement ( targetElement : Element , htmlTemplate : string ) {
72+ function createBeforeElement ( targetElement : Element , htmlTemplate : string , style : string ) {
6773 let element = document . createElement ( 'div' ) ;
6874 element . innerHTML = htmlTemplate ;
6975 targetElement . parentNode . insertBefore ( element , targetElement ) ;
70- return targetElement . previousSibling as Element ;
76+ return targetElement . previousSibling as HTMLElement ;
7177}
7278
73- function createBeforeShadowElement ( targetElement : Element , htmlTemplate : string ) {
79+ function createBeforeShadowElement ( targetElement : Element , htmlTemplate : string , style : string ) {
7480 let element = document . createElement ( 'div' ) ;
7581 let shadowRoot = ( element as any ) . createShadowRoot ( ) as ShadowRoot ;
7682 shadowRoot . innerHTML = htmlTemplate ;
7783 let styleElement = document . createElement ( 'style' ) ;
7884 styleElement . innerText = style ;
7985 shadowRoot . appendChild ( styleElement ) ;
8086 targetElement . parentNode . insertBefore ( element , targetElement ) ;
81- return targetElement . previousSibling as Element ;
87+ return targetElement . previousSibling as HTMLElement ;
8288}
8389
84- function createElement ( targetElement : Element , htmlTemplate : string ) {
90+ function createElement ( targetElement : Element , htmlTemplate : string , style : string ) {
8591 targetElement . innerHTML = htmlTemplate ;
86- return targetElement . lastChild as Element ;
92+ return targetElement . lastChild as HTMLElement ;
8793}
8894
8995export default class cplayerView extends EventEmitter {
9096 private elementLinks = returntypeof ( this . getElementLinks ) ;
91- private rootElement : Element ;
97+ private rootElement : HTMLElement ;
9298 private player : cplayer ;
9399 private dropDownMenuShowInfo = true ;
94100 private options : ICplayerViewOption ;
@@ -102,20 +108,22 @@ export default class cplayerView extends EventEmitter {
102108 this . player = player ;
103109 if ( this . options . generateBeforeElement ) {
104110 if ( ( this . options . element as any ) . createShadowRoot ) {
105- this . rootElement = createBeforeShadowElement ( this . options . element , htmlTemplate ) ;
111+ this . rootElement = createBeforeShadowElement ( this . options . element , htmlTemplate , style + this . options . style ) ;
106112 } else {
107- this . rootElement = createBeforeElement ( this . options . element , htmlTemplate ) ;
113+ this . rootElement = createBeforeElement ( this . options . element , htmlTemplate , style + this . options . style ) ;
108114 }
109115 } else {
110116 if ( ( this . options . element as any ) . createShadowRoot ) {
111- this . rootElement = createShadowElement ( this . options . element , htmlTemplate ) ;
117+ this . rootElement = createShadowElement ( this . options . element , htmlTemplate , style + this . options . style ) ;
112118 } else {
113- this . rootElement = createElement ( this . options . element , htmlTemplate ) ;
119+ this . rootElement = createElement ( this . options . element , htmlTemplate , style + this . options . style ) ;
114120 }
115121 }
116122 if ( options . deleteElementAfterGenerate ) {
117123 options . element . parentElement . removeChild ( options . element ) ;
118124 }
125+ this . rootElement . style . width = this . options . width ;
126+ this . rootElement . style . fontSize = this . options . size ;
119127 this . elementLinks = this . getElementLinks ( ) ;
120128 this . injectEventListener ( ) ;
121129 this . setPlayIcon ( this . player . paused ) ;
0 commit comments