Skip to content

Commit 5a0cf8d

Browse files
committed
clear and re-init drawing
1 parent b4c2341 commit 5a0cf8d

File tree

1 file changed

+53
-28
lines changed

1 file changed

+53
-28
lines changed

index.html

Lines changed: 53 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,10 @@
129129
changeSizeOfSVGPanel(window.innerWidth - 16, (rows[rows.length - 1].lineBottom.y() ) + 1);
130130

131131
window.onload = function() {
132-
/* init graph layout object */
133132
var Panel = new GraphLayout();
134-
var prevWidth = Config.svgWidth;
133+
var parser = new Parser();
135134

135+
var prevWidth = Config.svgWidth;
136136
function svgResize() {
137137
var widthPercChange;
138138
if (Panel.isOpen) {
@@ -147,43 +147,68 @@
147147
recalculateRows(widthPercChange); //makes sure that the words fit in the current width, else makes new rows
148148
}
149149

150-
document.addEventListener('keydown',
151-
function(e) {
152-
var key = e.keyCode || e.which;
153-
// console.log('keycode',key);
154-
switch(key) {
155-
case 37: // left arrow
156-
if (Panel.isOpen) {
157-
Panel.close();
158-
svgResize();
159-
}
160-
break;
161-
case 39: // right arrow
162-
if (!Panel.isOpen) {
163-
Panel.open();
164-
svgResize();
165-
}
166-
Panel.graph(wordObjs.filter(word => word.isSelected));
167-
break;
168-
default:
169-
break;
170-
}
171-
}, false);
172-
173-
var parser = new Parser();
174-
document.querySelector('select').onchange = function() {
150+
function handleKeyDown(e) {
151+
var key = e.keyCode || e.which;
152+
// console.log('keycode',key);
153+
switch(key) {
154+
case 37: // left arrow
155+
if (Panel.isOpen) {
156+
Panel.close();
157+
svgResize();
158+
}
159+
break;
160+
case 39: // right arrow
161+
if (!Panel.isOpen) {
162+
Panel.open();
163+
svgResize();
164+
}
165+
Panel.graph(wordObjs.filter(word => word.isSelected));
166+
break;
167+
default:
168+
break;
169+
}
170+
};
171+
172+
function changeDataset() {
175173
if (this.selectedIndex > 0) {
176174
parser.readJson(`./data/data${this.selectedIndex}.json`, function() {
177-
console.log('hey',parser);
175+
console.log(parser);
176+
resetDrawing();
178177
});
179178
}
179+
};
180+
181+
function resetDrawing(words, links) {
182+
draw.clear();
183+
rowGroup = draw.group();
184+
[groupAllElements, linkG, textG, arrowG].forEach(group => {
185+
if (group) { group.clear(); }
186+
group = undefined;
187+
});
188+
dragElem = null;
189+
isDragging = false;
190+
rowOffsetX = 0;
191+
rowOffsetWord = null;
192+
prevX = -1;
193+
194+
rows = [];
195+
wordObjs = words || createTestWords(4, 10, 10);
196+
linkObjs = links || createTestMultiLinks(1);
197+
drawWords(wordObjs);
198+
drawLinks(linkObjs);
199+
if (Panel.isOpen) { Panel.close(); }
200+
changeSizeOfSVGPanel(window.innerWidth - 16, (rows[rows.length - 1].lineBottom.y() ) + 1);
180201
}
181202

182203
function resize() {
183204
svgResize();
184205
Panel.resize();
185206
}
207+
208+
document.addEventListener('keydown', handleKeyDown, false);
209+
document.querySelector('select').onchange = changeDataset;
186210
window.onresize = _.debounce(resize, 300);
211+
187212
};
188213

189214
</script>

0 commit comments

Comments
 (0)