@@ -8,13 +8,21 @@ function createComponent(html) {
88
99 function setContent ( cssSelector , content , shadow ) {
1010 const selector = shadow . querySelector ( cssSelector ) ;
11- selector . textContent = content ;
11+ if ( content . includes ( '<p>' ) ) {
12+ let paragraph = document . createElement ( 'p' ) ;
13+ paragraph . innerHTML = content ;
14+ selector . appendChild ( paragraph ) ;
15+ } else {
16+ selector . textContent = content ;
17+ }
1218 }
1319
14- function setLink ( cssSelector , url , name , shadow ) {
20+ function setLink ( cssSelector , url , shadow ) {
1521 const link = shadow . querySelector ( cssSelector ) ;
1622 link . href = url ;
17- link . setAttribute ( 'aria-label' , `Learn more about ${ name } ` ) ;
23+ if ( url . includes ( 'https://' ) ) {
24+ link . setAttribute ( 'target' , '_blank' ) ;
25+ }
1826 }
1927
2028 function setImage ( cssSelector , src , shadow ) {
@@ -29,6 +37,7 @@ function createComponent(html) {
2937 // Creates element with default values
3038 constructor ( ) {
3139 super ( ) ;
40+ this . link2 = "" ;
3241 }
3342
3443 // Return array of properties to observe
@@ -51,19 +60,28 @@ function createComponent(html) {
5160 setContent ( '.section' , this . section , shadow ) ;
5261 setContent ( '.name' , this . name , shadow ) ;
5362 setContent ( '.desc' , this . desc , shadow ) ;
54- setLink ( '.link-primary' , this . link , this . name , shadow ) ;
55- setContent ( '.link-primary-text' , this . linktext , shadow ) ;
56- setLink ( '.link-secondary' , this . link2 , this . name , shadow ) ;
57- setContent ( '.link-secondary-text' , this . linktext2 , shadow ) ;
63+ setLink ( '.button-primary' , this . link , shadow ) ;
64+ setContent ( '.button-primary-text' , this . linktext , shadow ) ;
5865
59- // Check if links are external
66+ if ( this . link2 != "" ) {
67+ setLink ( '.button-secondary' , this . link2 , shadow ) ;
68+ setContent ( '.button-secondary-text' , this . linktext2 , shadow ) ;
69+ } else {
70+ const buttonSecondary = shadow . querySelector ( '.button-secondary' ) ;
71+ buttonSecondary . style . display = 'none' ;
72+ }
6073
74+ // Check if links are external
75+ const heroSection = shadow . querySelector ( '.hero' ) ;
6176 switch ( this . section ) {
6277 case 'Engage' :
63- const selector = shadow . querySelector ( '.hero' ) ;
64- selector . classList . add ( 'engage-bg' ) ;
78+ heroSection . classList . add ( 'engage-bg' ) ;
6579 setImage ( '.image' , 'wp-content/icons/icon_engage.svg' , shadow ) ;
6680 break ;
81+ case 'Learn' :
82+ heroSection . classList . add ( 'learn-bg' ) ;
83+ setImage ( '.image' , 'wp-content/Icon_Managed ACBs_IMS DatabasePage.svg' , shadow ) ;
84+ break ;
6785 }
6886 }
6987 }
0 commit comments