@@ -25,16 +25,20 @@ export default (element: HTMLDivElement, hub: Hub) => {
2525
2626 let settings : any = {
2727 id : element . id ,
28- height : parseInt ( element . getAttribute ( "data-height" ) || "auto" , 10 )
28+ height : parseInt ( element . getAttribute ( "data-height" ) || "auto" , 10 ) ,
2929 } ;
3030
31+ const utmSource = element . getAttribute ( "data-utm-source" ) || undefined ;
32+ const utmCampaign = element . getAttribute ( "data-utm-campaign" ) || undefined ;
33+
3134 if ( element . getAttribute ( "data-encoded" ) ) {
3235 const exercise = JSON . parse ( atob ( decodeURIComponent ( element . textContent ) ) ) ;
3336 settings . hint = exercise . hint ;
3437 settings . language = exercise . language ;
3538 settings . lang_version = exercise . lang_version ;
3639 settings . pre_exercise_code =
37- getPackages ( exercise . packages , exercise . language ) + exercise . pre_exercise_code ;
40+ getPackages ( exercise . packages , exercise . language ) +
41+ exercise . pre_exercise_code ;
3842 settings . sample_code = exercise . sample || exercise . sample_code ;
3943 settings . sct = exercise . sct ;
4044 settings . solution = exercise . solution ;
@@ -72,13 +76,15 @@ export default (element: HTMLDivElement, hub: Hub) => {
7276 lang_version : element . getAttribute ( "data-lang-version" ) ,
7377 packages : element . getAttribute ( "data-packages" ) ,
7478 pre_exercise_code :
75- getPackages ( element . getAttribute ( "data-packages" ) , element . getAttribute ( "data-lang" ) ) +
76- getText ( "pre-exercise-code" ) ,
79+ getPackages (
80+ element . getAttribute ( "data-packages" ) ,
81+ element . getAttribute ( "data-lang" )
82+ ) + getText ( "pre-exercise-code" ) ,
7783 sample_code : getText ( "sample-code" ) ,
7884 sct : getText ( "sct" ) ,
7985 solution : getText ( "solution" ) ,
8086 showRunButton : showRunButton ,
81- noLazyLoad : noLazyLoad
87+ noLazyLoad : noLazyLoad ,
8288 } ) ;
8389 }
8490
@@ -102,7 +108,12 @@ export default (element: HTMLDivElement, hub: Hub) => {
102108 return (
103109 < AppContainer >
104110 < Provider store = { store } >
105- < App height = { settings . height } language = { settings . language } />
111+ < App
112+ height = { settings . height }
113+ language = { settings . language }
114+ utmSource = { utmSource }
115+ utmCampaign = { utmCampaign }
116+ />
106117 </ Provider >
107118 </ AppContainer >
108119 ) ;
0 commit comments