-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathsettings.js
More file actions
93 lines (86 loc) · 4.35 KB
/
settings.js
File metadata and controls
93 lines (86 loc) · 4.35 KB
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
document.getElementById("version").innerText = chrome.runtime.getManifest().version;
chrome.storage.sync.get([
"stickRadius",
"buttonDiameter",
"buttonBorderLeftOffset",
"buttonBorderRightOffset",
"buttonBorderTopOffset",
"buttonBorderBottomOffset",
"opacity",
"enableColors",
"enableDrawSticks",
"disableTouchStadia",
"buttonConfig",
"firstRun"
], function(settings) {
const firstRunNotificationElem = document.getElementById("first-run-notification");
const firstRunNotificationCloseButtonElem = document.getElementById("first-run-notification-close-button");
const settingsElem = document.getElementById("settings");
const stickRadiusElem = document.getElementById("stick-radius");
const buttonDiameterElem = document.getElementById("button-diameter");
const buttonBorderLeftOffsetElem = document.getElementById("button-border-left-offset");
const buttonBorderRightOffsetElem = document.getElementById("button-border-right-offset");
const buttonBorderTopOffsetElem = document.getElementById("button-border-top-offset");
const buttonBorderBottomOffsetElem = document.getElementById("button-border-bottom-offset");
const opacityElem = document.getElementById("opacity");
const enableColorsElem = document.getElementById("enable-colors");
const enableDrawSticksElem = document.getElementById("enable-draw-sticks");
const disableTouchStadiaElem = document.getElementById("disable-touchstadia");
const applyButtonElem = document.getElementById("apply-button");
const resetButtonConfigControlElem = document.getElementById("reset-button-config-control");
const resetButtonConfigButtonElem = document.getElementById("reset-button-config-button");
if(settings.firstRun){
settingsElem.style.display = "none";
}else{
firstRunNotificationElem.style.display = "none";
}
if(typeof settings.buttonConfig !== "undefined" && settings.buttonConfig !== null){
const disableIfLayoutElems = document.getElementsByClassName("disable-if-layout");
for(let i = 0; i < disableIfLayoutElems.length; i++){
disableIfLayoutElems[i].disabled = true;
}
resetButtonConfigControlElem.style.display = "initial";
}
stickRadiusElem.value = settings.stickRadius;
buttonDiameterElem.value = settings.buttonDiameter;
buttonBorderLeftOffsetElem.value = settings.buttonBorderLeftOffset;
buttonBorderRightOffsetElem.value = settings.buttonBorderRightOffset;
buttonBorderTopOffsetElem.value = settings.buttonBorderTopOffset;
buttonBorderBottomOffsetElem.value = settings.buttonBorderBottomOffset;
opacityElem.value = settings.opacity;
enableColorsElem.checked = settings.enableColors;
enableDrawSticksElem.checked = settings.enableDrawSticks;
disableTouchStadiaElem.checked = settings.disableTouchStadia;
firstRunNotificationCloseButtonElem.onclick = function(){
firstRunNotificationElem.style.display = "none";
settingsElem.style.display = "initial";
chrome.storage.sync.set({"firstRun": false}, function(){
console.log("TouchStadia: First run completed!");
});
}
applyButtonElem.onclick = function(){
const startParams = {
"stickRadius": parseInt(stickRadiusElem.value),
"buttonDiameter": parseInt(buttonDiameterElem.value),
"buttonBorderLeftOffset": parseInt(buttonBorderLeftOffsetElem.value),
"buttonBorderRightOffset": parseInt(buttonBorderRightOffsetElem.value),
"buttonBorderTopOffset": parseInt(buttonBorderTopOffsetElem.value),
"buttonBorderBottomOffset": parseInt(buttonBorderBottomOffsetElem.value),
"opacity": parseInt(opacityElem.value),
"enableColors": enableColorsElem.checked,
"enableDrawSticks": enableDrawSticksElem.checked,
"disableTouchStadia": disableTouchStadiaElem.checked,
};
chrome.storage.sync.set(startParams, function(){
console.log("TouchStadia: Set options!");
chrome.tabs.reload();
});
}
resetButtonConfigButtonElem.onclick = function(){
chrome.storage.sync.set({"buttonConfig": null}, function(){
console.log("TouchStadia: Reset button config!");
chrome.tabs.reload();
window.location.href = window.location.href;
});
}
});