-
Notifications
You must be signed in to change notification settings - Fork 0
/
debug.js
73 lines (53 loc) · 2.18 KB
/
debug.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
var background = window.chrome.extension.getBackgroundPage();
var conf = background.getConf();
var saveInputs = conf.ports;
document.getElementById('open').addEventListener('click', background.openDebugger);
document.getElementById('add').addEventListener('click', addInput);
document.getElementById('switch').addEventListener('change', background.changeRefresh);
document.getElementById('time').addEventListener('input', background.changeRefreshTime);
restore();
function restore() {
document.getElementById('switch').checked = conf.auto;
document.getElementById('time').value = conf.refresh;
var addBtn = document.getElementById('add');
saveInputs.forEach((saveInput) => {
createInput(saveInput.id, saveInput.value, addBtn, true);
});
}
function addInput() {
var addBtn = document.getElementById('add');
var inputs = document.getElementsByClassName('ports');
var lastInput = inputs && inputs[inputs.length - 1];
var lastInputNb = lastInput ? lastInput.id : '0';
var id = (parseInt(lastInputNb, 10) + 1).toString();
createInput(id, null, lastInput || addBtn, lastInput ? false : true);
saveInputs.push({
id : id,
value : 0
});
}
function createInput(id, value, item, before) {
var newInput = document.createElement('input');
var newDelBtn = document.createElement('button');
newInput.id = id;
newInput.value = value;
newInput.className = 'ports'
newInput.oninput = (e) => {
var input = e.target;
var saveInput = saveInputs.find((save) => save.id === input.id);
saveInput.value = input.value;
};
newDelBtn.innerHTML = 'X';
newDelBtn.id = `btn-${id}`;
newDelBtn.onclick = deleteInput;
item.parentNode.insertBefore(newInput, before ? item : item.nextSibling.nextSibling);
newInput.parentNode.insertBefore(newDelBtn, newInput.nextSibling);
}
function deleteInput(e) {
var input = document.getElementById(e.target.id.substr(4, e.target.id.length));
var btn = e.target;
input.parentNode.removeChild(input);
btn.parentNode.removeChild(btn);
var x = saveInputs.find((save) => save.id === input.id);
saveInputs.splice(saveInputs.indexOf(x), 1);
}