Skip to content

Commit 94a6c96

Browse files
committed
Docs: tutorial view made responsive
1 parent 9de2101 commit 94a6c96

File tree

3 files changed

+63
-20
lines changed

3 files changed

+63
-20
lines changed

docs/script/tutorial/tutorial.js

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ export default class tutorial
1515
this.discover();
1616

1717
this.setupVizzu(snippetRegistry);
18+
19+
window.onresize = () => {
20+
this.setVizzuPosition(this.activeSnippet, false);
21+
}
1822
}
1923

2024
scrolled(event)
@@ -46,7 +50,10 @@ export default class tutorial
4650
let element = document.getElementById(elementId);
4751

4852
if (element === null) this.setInitialSnippet(defaultId);
49-
else element.focus({ preventScroll: true });
53+
else {
54+
this.activeSnippet = element;
55+
element.focus({ preventScroll: true });
56+
}
5057
}
5158

5259
setupVizzu(snippetRegistry)
@@ -95,6 +102,16 @@ export default class tutorial
95102

96103
activateSnippet(snippet)
97104
{
105+
this.activeSnippet = snippet;
106+
this.setVizzuPosition(snippet, true);
107+
const id = DomHelper.parseId(snippet).id;
108+
this.vizzuView.step(id);
109+
}
110+
111+
setVizzuPosition(snippet, transition)
112+
{
113+
if (this.activeSnippet == undefined) return;
114+
98115
let canvas = document.getElementById('vizzu-canvas');
99116

100117
let targetTop = snippet.offsetTop
@@ -103,11 +120,10 @@ export default class tutorial
103120

104121
let view = document.getElementById('vizzu-view');
105122

106-
view.style.top = targetTop + 'px';
107-
view.style.transition = 'top .2s';
108-
109-
const id = DomHelper.parseId(snippet).id;
110-
this.vizzuView.step(id);
123+
let left = parseInt(window.getComputedStyle(view).left, 10);
124+
view.style.top = (left > 0 ? targetTop : 0)+ 'px';
125+
126+
view.style.transition = `top ${transition ? .2 : 0}s`;
111127
}
112128

113129
firstVisibleSubtitle()

docs/style/main.css

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,6 @@ h3 {
4545
font-size: 20px;
4646
}
4747

48-
#content {
49-
padding: 0px 1px 50px 1px;
50-
width: 650px;
51-
}
52-
5348
#content-view {
5449
outline: none !important;
5550
overflow: hidden;

docs/style/tutorial.css

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,46 @@ th {
2323
overflow-x: hidden;
2424
}
2525

26+
#content {
27+
padding: 0px 1px 50px 1px;
28+
max-width: 650px;
29+
width: calc(100% - 500px);
30+
}
31+
32+
#vizzu-view {
33+
width: 500px;
34+
height: 0px;
35+
overflow: none;
36+
display: block;
37+
position: relative;
38+
left: min(660px, 100% - 500px + 10px);
39+
}
40+
41+
@media screen and (max-width: 1200px) {
42+
43+
#content {
44+
width: 100%;
45+
}
46+
47+
#vizzu-view {
48+
width: 100%;
49+
height: 260px;
50+
overflow: none;
51+
display: block;
52+
position: sticky;
53+
top: 0px;
54+
left: 0px;
55+
z-index: 100;
56+
background-color: #fff;
57+
filter: drop-shadow(0 2px 4px #e0dcda);
58+
}
59+
60+
#vizzu-canvas {
61+
filter: none !important;
62+
}
63+
64+
}
65+
2666
.snippet {
2767
line-height: 1.35em;
2868
color: #666;
@@ -32,6 +72,7 @@ th {
3272
padding-bottom: 5px;
3373
padding-left: 3em;
3474
padding-right: 1em;
75+
overflow-x: auto;
3576
}
3677

3778
.runable {
@@ -79,15 +120,6 @@ th {
79120
padding-right: 1em;
80121
}
81122

82-
#vizzu-view {
83-
width: 0px;
84-
height: 0px;
85-
overflow: none;
86-
display: block;
87-
position: relative;
88-
left: 660px;
89-
}
90-
91123
#vizzu-canvas {
92124
width: 480px;
93125
height: 260px;

0 commit comments

Comments
 (0)