@@ -12,7 +12,7 @@ const preview = {
12
12
locale : "en" ,
13
13
border_radius : "4.5" ,
14
14
mode : "daily" ,
15
- disable_animations : "false " ,
15
+ type : "svg " ,
16
16
} ,
17
17
18
18
/**
@@ -29,12 +29,23 @@ const preview = {
29
29
// generate links and markdown
30
30
const imageURL = `${ window . ___location . origin } ?${ query } ` ;
31
31
const demoImageURL = `preview.php?${ query } ` ;
32
- const repoLink = "https://git.io/streak-stats" ;
33
- const md = `[](${ repoLink } )` ;
34
- // update image preview
35
- document . querySelector ( ".output img" ) . src = demoImageURL ;
36
- // update markdown
37
- document . querySelector ( ".md code" ) . innerText = md ;
32
+ // update preview
33
+ if ( params . type !== "json" ) {
34
+ const repoLink = "https://git.io/streak-stats" ;
35
+ const md = `[](${ repoLink } )` ;
36
+ document . querySelector ( ".output img" ) . src = demoImageURL ;
37
+ document . querySelector ( ".md code" ) . innerText = md ;
38
+ document . querySelector ( ".output img" ) . style . display = "block" ;
39
+ document . querySelector ( ".output .json" ) . style . display = "none" ;
40
+ } else {
41
+ document . querySelector ( ".output img" ) . style . display = "none" ;
42
+ document . querySelector ( ".output .json" ) . style . display = "block" ;
43
+ fetch ( demoImageURL )
44
+ . then ( ( response ) => response . json ( ) )
45
+ . then ( ( data ) => ( document . querySelector ( ".output .json pre" ) . innerText = JSON . stringify ( data , null , 2 ) ) )
46
+ . catch ( console . error ) ;
47
+ document . querySelector ( ".md code" ) . innerText = imageURL ;
48
+ }
38
49
// disable copy button if username is invalid
39
50
const copyButton = document . querySelector ( ".copy-button" ) ;
40
51
copyButton . disabled = Boolean ( document . querySelector ( "#user:invalid" ) || ! document . querySelector ( "#user" ) . value ) ;
@@ -87,12 +98,12 @@ const preview = {
87
98
minus . innerText = "−" ;
88
99
minus . setAttribute ( "data-property" , propertyName ) ;
89
100
// add elements
90
- const parent = document . querySelector ( ".advanced .parameters " ) ;
101
+ const parent = document . querySelector ( ".advanced .color-properties " ) ;
91
102
parent . appendChild ( label ) ;
92
103
parent . appendChild ( input ) ;
93
104
parent . appendChild ( minus ) ;
94
105
95
- //initialise jscolor on element
106
+ // initialise jscolor on element
96
107
jscolor . install ( parent ) ;
97
108
98
109
// check initial color value
@@ -108,7 +119,7 @@ const preview = {
108
119
* @param {string } property - the name of the property to remove
109
120
*/
110
121
removeProperty ( property ) {
111
- const parent = document . querySelector ( ".advanced .parameters " ) ;
122
+ const parent = document . querySelector ( ".advanced .color-properties " ) ;
112
123
const selectElement = document . querySelector ( "#properties" ) ;
113
124
// remove all elements for given property
114
125
parent . querySelectorAll ( `[data-property="${ property } "]` ) . forEach ( ( x ) => parent . removeChild ( x ) ) ;
@@ -124,7 +135,7 @@ const preview = {
124
135
* Removes all properties from the advanced section
125
136
*/
126
137
removeAllProperties ( ) {
127
- const parent = document . querySelector ( ".advanced .parameters " ) ;
138
+ const parent = document . querySelector ( ".advanced .color-properties " ) ;
128
139
const activeProperties = parent . querySelectorAll ( "[data-property]" ) ;
129
140
// select active and unique property names
130
141
const propertyNames = Array . prototype . map
@@ -199,6 +210,8 @@ const preview = {
199
210
pickerChange ( picker , input ) {
200
211
// color was changed by picker - check it
201
212
this . checkColor ( picker . toHEXAString ( ) , input ) ;
213
+ // update preview
214
+ this . update ( ) ;
202
215
} ,
203
216
} ;
204
217
@@ -242,7 +255,6 @@ window.addEventListener(
242
255
// refresh preview on interactions with the page
243
256
const refresh = ( ) => preview . update ( ) ;
244
257
document . addEventListener ( "keyup" , refresh , false ) ;
245
- document . addEventListener ( "click" , refresh , false ) ;
246
258
[ ...document . querySelectorAll ( "select:not(#properties)" ) ] . forEach ( ( element ) => {
247
259
element . addEventListener ( "change" , refresh , false ) ;
248
260
} ) ;
0 commit comments