Skip to content

Commit 95e4b68

Browse files
authored
Merge pull request #260 from veghdev/manual_vizzuref
Manual option to use custom ref vizzulib
2 parents 24e08cd + 3b3bf04 commit 95e4b68

File tree

2 files changed

+40
-15
lines changed

2 files changed

+40
-15
lines changed

test/integration/modules/manual/client/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
</head>
88
<body>
99
<select name="vizzuUrl" id="vizzuUrl" size="20"></select>
10+
<select name="vizzuRef" id="vizzuRef" size="20"></select>
1011
<select name="testCase" id="testCase" size="20"></select>
1112
<br />
1213
<button id="replay">Replay</button>

test/integration/modules/manual/client/index.js

Lines changed: 39 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ let urlParams = new URLSearchParams(queryString);
55
let urlTestFile = urlParams.get("testFile");
66
let urlTestIndex = urlParams.get("testIndex");
77
let urlVizzuUrl = urlParams.get("vizzuUrl");
8+
let urlVizzuRefUrl = urlParams.get("vizzuRefUrl");
89

910
let vizzuUrl = document.getElementById("vizzuUrl");
10-
let vizzuRefUrl = "https://vizzu-lib-main.storage.googleapis.com/lib";
11+
let vizzuRef = document.getElementById("vizzuRef");
1112
let testCase = document.getElementById("testCase");
1213
let frame = document.getElementById("frame");
1314
let frameRef = document.getElementById("frame-ref");
@@ -50,23 +51,24 @@ function getDiff() {
5051

5152
function 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

7274
function 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

105113
function 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

110120
function 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

Comments
 (0)