@@ -5,9 +5,10 @@ let urlParams = new URLSearchParams(queryString);
55let urlTestFile = urlParams . get ( "testFile" ) ;
66let urlTestIndex = urlParams . get ( "testIndex" ) ;
77let urlVizzuUrl = urlParams . get ( "vizzuUrl" ) ;
8+ let urlVizzuRefUrl = urlParams . get ( "vizzuRefUrl" ) ;
89
910let vizzuUrl = document . getElementById ( "vizzuUrl" ) ;
10- let vizzuRefUrl = "https://vizzu-lib-main.storage.googleapis.com/lib" ;
11+ let vizzuRef = document . getElementById ( "vizzuRef" ) ;
1112let testCase = document . getElementById ( "testCase" ) ;
1213let frame = document . getElementById ( "frame" ) ;
1314let frameRef = document . getElementById ( "frame-ref" ) ;
@@ -50,23 +51,24 @@ function getDiff() {
5051
5152function update ( ) {
5253 localStorage . setItem ( "vizzuUrl" , vizzuUrl . value ) ;
54+ localStorage . setItem ( "vizzuRef" , vizzuRef . value ) ;
5355 localStorage . setItem ( "testCase" , testCase . value ) ;
5456 let testCaseObject = JSON . parse ( testCase . value ) ;
5557 frame . src = `frame.html?testFile=${ testCaseObject . testFile } &testType=${ testCaseObject . testType } &testIndex=${ testCaseObject . testIndex } &vizzuUrl=${ vizzuUrl . value } ` ;
56- if ( vizzuUrl . value !== vizzuRefUrl ) {
58+ if ( vizzuUrl . value !== vizzuRef . value ) {
5759 difCanvas . style . display = "inline" ;
5860 frameRef . style . display = "inline" ;
59- frameRef . src = `frame.html?testFile=${ testCaseObject . testFile } &testType=${ testCaseObject . testType } &testIndex=${ testCaseObject . testIndex } &vizzuUrl=${ vizzuRefUrl } ` ;
61+ frameRef . src = `frame.html?testFile=${ testCaseObject . testFile } &testType=${ testCaseObject . testType } &testIndex=${ testCaseObject . testIndex } &vizzuUrl=${ vizzuRef . value } ` ;
6062 getDiff ( ) ;
61- connectSliders ( ) . then ( ( charts ) => {
62- setTimeout ( ( ) => {
63- run ( charts ) ;
64- } , 0 ) ;
65- } ) ;
6663 } else {
6764 difCanvas . style . display = "none" ;
6865 frameRef . style . display = "none" ;
6966 }
67+ connectSliders ( ) . then ( ( charts ) => {
68+ setTimeout ( ( ) => {
69+ run ( charts ) ;
70+ } , 0 ) ;
71+ } ) ;
7072}
7173
7274function connectSliders ( ) {
@@ -77,9 +79,13 @@ function connectSliders() {
7779 } ) ;
7880
7981 let waitForLoadRef = new Promise ( ( resolve ) => {
80- frameRef . addEventListener ( "load" , ( ) => {
82+ if ( frameRef . style . display !== "none" ) {
83+ frameRef . addEventListener ( "load" , ( ) => {
84+ resolve ( ) ;
85+ } ) ;
86+ } else {
8187 resolve ( ) ;
82- } ) ;
88+ }
8389 } ) ;
8490
8591 return Promise . all ( [ waitForLoad , waitForLoadRef ] )
@@ -95,20 +101,25 @@ function connectSliders() {
95101 slider . addEventListener ( "input" , ( e ) => {
96102 frameRef . contentWindow . setSlider ( e . target . value ) ;
97103 } ) ;
98- sliderRef . addEventListener ( "input" , ( e ) => {
99- frame . contentWindow . setSlider ( e . target . value ) ;
100- } ) ;
104+ if ( frameRef . style . display !== "none" ) {
105+ sliderRef . addEventListener ( "input" , ( e ) => {
106+ frame . contentWindow . setSlider ( e . target . value ) ;
107+ } ) ;
108+ }
101109 return setups ;
102110 } ) ;
103111}
104112
105113function run ( charts ) {
106114 frame . contentWindow . run ( charts [ 0 ] ) ;
107- frameRef . contentWindow . run ( charts [ 1 ] ) ;
115+ if ( frameRef . style . display !== "none" ) {
116+ frameRef . contentWindow . run ( charts [ 1 ] ) ;
117+ }
108118}
109119
110120function setupSelects ( ) {
111121 vizzuUrl . addEventListener ( "change" , update ) ;
122+ vizzuRef . addEventListener ( "change" , update ) ;
112123 testCase . addEventListener ( "change" , update ) ;
113124 replay . addEventListener ( "click" , update ) ;
114125 play . addEventListener ( "click" , ( ) => {
@@ -123,13 +134,26 @@ function populateLibs() {
123134 for ( let name in data ) {
124135 let url = data [ name ] ;
125136 vizzuUrl . innerHTML += `<option value='${ url } '>${ name } </option>` ;
137+ vizzuRef . innerHTML += `<option value='${ url } '>${ name } </option>` ;
126138 }
127139 let lastSelected = localStorage . getItem ( "vizzuUrl" ) ;
128140 if ( urlVizzuUrl ) {
129141 lastSelected = data [ urlVizzuUrl ] ;
130142 }
131- if ( lastSelected === "" ) lastSelected = data [ "localhost" ] ;
143+ if ( ! lastSelected ) lastSelected = data [ "localhost" ] ;
132144 vizzuUrl . value = lastSelected ;
145+ let lastSelectedRef = localStorage . getItem ( "vizzuRef" ) ;
146+ if ( urlVizzuRefUrl ) {
147+ lastSelectedRef = data [ urlVizzuRefUrl ] ;
148+ }
149+ if ( ! lastSelectedRef ) {
150+ if ( data [ "HEAD" ] ) {
151+ lastSelectedRef = data [ "HEAD" ] ;
152+ } else {
153+ lastSelectedRef = data [ "localhost" ] ;
154+ }
155+ }
156+ vizzuRef . value = lastSelectedRef ;
133157 populateCases ( ) ;
134158 } ) ;
135159}
0 commit comments