@@ -85,7 +85,7 @@ const preview = {
85
85
} ;
86
86
87
87
const parent = document . querySelector ( ".advanced .color-properties" ) ;
88
- if ( propertyName === "background" ) {
88
+ if ( propertyName === "background" && document . querySelector ( "#background-type-gradient" ) . checked ) {
89
89
const valueParts = value . split ( "," ) ;
90
90
let angleValue = "45" ;
91
91
let color1Value = "#EB5454FF" ;
@@ -335,8 +335,26 @@ window.addEventListener(
335
335
[ ...document . querySelectorAll ( "select:not(#properties)" ) ] . forEach ( ( element ) => {
336
336
element . addEventListener ( "change" , refresh , false ) ;
337
337
} ) ;
338
+ // when the background-type changes, remove the background and replace it
339
+ const toggleBackgroundType = ( ) => {
340
+ const value = document . querySelector ( "input#background, input#background-color1" ) ?. value ;
341
+ preview . removeProperty ( "background" ) ;
342
+ if ( value && document . querySelector ( "#background-type-gradient" ) . checked ) {
343
+ preview . addProperty ( "background" , `45,${ value } ,${ value } ` ) ;
344
+ } else if ( value ) {
345
+ preview . addProperty ( "background" , value ) ;
346
+ }
347
+ } ;
348
+ document . querySelector ( "#background-type-solid" ) . addEventListener ( "change" , toggleBackgroundType , false ) ;
349
+ document . querySelector ( "#background-type-gradient" ) . addEventListener ( "change" , toggleBackgroundType , false ) ;
338
350
// set input boxes to match URL parameters
339
351
const searchParams = new URLSearchParams ( window . ___location . search ) ;
352
+ const backgroundParams = searchParams . getAll ( "background" ) ;
353
+ // set background-type
354
+ if ( backgroundParams . length > 1 ) {
355
+ document . querySelector ( "#background-type-gradient" ) . checked = true ;
356
+ }
357
+ // set input field and select values
340
358
searchParams . forEach ( ( val , key ) => {
341
359
const paramInput = document . querySelector ( `[name="${ key } "]` ) ;
342
360
if ( paramInput ) {
@@ -348,9 +366,8 @@ window.addEventListener(
348
366
preview . addProperty ( key , searchParams . getAll ( key ) . join ( "," ) ) ;
349
367
}
350
368
} ) ;
351
- // set background angle and colors
352
- const backgroundParams = searchParams . getAll ( "background" ) ;
353
- if ( backgroundParams . length > 0 ) {
369
+ // set background angle and gradient colors
370
+ if ( backgroundParams . length > 1 ) {
354
371
document . querySelector ( "#rotate" ) . value = backgroundParams [ 0 ] ;
355
372
document . querySelector ( "#background-color1" ) . value = backgroundParams [ 1 ] ;
356
373
document . querySelector ( "#background-color2" ) . value = backgroundParams [ 2 ] ;
0 commit comments