aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Crosby2010-01-17 23:44:30 -0800
committerPhil Crosby2010-01-17 23:44:30 -0800
commit7eb6971dc0a4e7097bbc2adf3885e10640faec66 (patch)
tree94f49788f39e8f3d0668b79b3fa46489cace64e9
parentcd3859fd18ff747a349a3ffaaff48b99d54aa192 (diff)
downloadvimium-7eb6971dc0a4e7097bbc2adf3885e10640faec66.tar.bz2
Make the save button disabled, enable it when a change is made, and then disable it again upon saving.
-rw-r--r--options.html53
1 files changed, 33 insertions, 20 deletions
diff --git a/options.html b/options.html
index d349ce63..588943cc 100644
--- a/options.html
+++ b/options.html
@@ -18,9 +18,6 @@
td {
padding:5px 0;
}
- button#saveSettings {
- margin-top:20px;
- }
textarea#excludedUrls {
width:450px;
min-height:100px;
@@ -34,21 +31,32 @@
width:1px;
white-space:nowrap;
}
+ #buttonsPanel {
+ /* This should match the width of #excludedUrls */
+ width:450px;
+ text-align:right;
+ margin-top:18px;
+ }
</style>
- </head>
<script type="text/javascript">
+ $ = function(id) { return document.getElementById(id); };
+
+ function initializeOptions() {
+ populateOptions();
+ var elements = ["scrollStepSize", "defaultZoomLevel", "excludedUrls"];
+ for (var i = 0; i < elements.length; i++)
+ $(elements[i]).addEventListener("change", enableSaveButton, false);
+ }
+
+ function enableSaveButton() { $("saveOptions").removeAttribute("disabled"); }
// Saves options to localStorage.
function saveOptions() {
- localStorage["scrollStepSize"] = document.getElementById("scrollStepSize").value
- localStorage["defaultZoomLevel"] = document.getElementById("defaultZoomLevel").value
- localStorage["excludedUrls"] = document.getElementById("excludedUrls").value;
-
- // Give the user some feedback that their options were saved.
- var status = document.getElementById("status");
- status.innerHTML = "Settings Saved.";
- setTimeout(function() { status.innerHTML = ""; }, 750);
+ localStorage["scrollStepSize"] = $("scrollStepSize").value
+ localStorage["defaultZoomLevel"] = $("defaultZoomLevel").value
+ localStorage["excludedUrls"] = $("excludedUrls").value;
+ $("saveOptions").disabled = true;
}
// Restores select box state to saved value from localStorage.
@@ -58,20 +66,24 @@
var defaultZoomLevel = localStorage["defaultZoomLevel"] || 100;
var defaultExcludedUrls = localStorage["excludedUrls"] || "";
- document.getElementById("scrollStepSize").value = scrollStepSize;
- document.getElementById("defaultZoomLevel").value = defaultZoomLevel;
- document.getElementById("excludedUrls").value = defaultExcludedUrls;
+ $("scrollStepSize").value = scrollStepSize;
+ $("defaultZoomLevel").value = defaultZoomLevel;
+ $("excludedUrls").value = defaultExcludedUrls;
}
function restoreToDefaults() {
scrollStepSize.value = "60";
defaultZoomLevel.value = "100";
excludedUrls.value = "";
+ $("saveOptions").disabled = true;
}
+
</script>
- <body onload="populateOptions()">
- <h1>Vimium - Settings</h1>
+ </head>
+
+ <body onload="initializeOptions()">
+ <h1>Vimium - Options</h1>
<table>
<tr>
<td class="caption">Scroll Step Size</td>
@@ -100,9 +112,10 @@
</tr>
</table>
- <button id="restoreSettings" onclick="restoreToDefaults()">Restore to Defaults</button>
- <button id="saveSettings" onclick="saveOptions()">Save Settings</button>
- <span id="status"></status>
+ <div id="buttonsPanel">
+ <button id="restoreSettings" onclick="restoreToDefaults()">Restore to Defaults</button>
+ <button id="saveOptions" disabled="true" onclick="saveOptions()">Save Options</button>
+ </div>
<h1>Command Reference</h1>
<pre>