}
}
+function get_css_var(key) { return getComputedStyle(document.documentElement).getPropertyValue(`--${key}`); }
+
function onoff(o) {
const data = o.toUpperCase();
switch (data) {
}, 5000);
}
-function trim(str) {
- return str.replace(/^\s+|\s+$/, '');
+/* Toggle the selected theme. */
+function toggle_theme() {
+ const theme = get_css_var('theme') == 'light' ? 'dark' : 'light';
+ const css = $('link#theme-override');
+ css.href = `css/${theme}.css`;
+ storage.set({theme});
+ return false;
}
function initpopup(xhr, state) {
if (th.bgColor != '#DDDDFF')
continue;
- var controller_name = trim(th.innerText);
+ var controller_name = th.innerText.trim();
if (controller_name.slice(0, 12) != 'Controller: ')
continue;
cell = row.insertCell(-1);
cell.colSpan = 10;
cell.align = 'center';
- cell.innerText = controller_name.slice(12);
- cell.innerHTML = '<a href="' + url_base + '" target="_blank">' + cell.innerHTML + '</a>'
+
+ const a = document.createElement('a');
+ a.href = url_base;
+ a.target = '_blank';
+ a.text = controller_name.slice(12).trim();
+ cell.appendChild(a);
+
+ const button = document.createElement('button');
+ button.name = 'theme';
+ button.onclick = toggle_theme;
+ cell.appendChild(button);
}
var tr, trs = state.currentTarget.responseXML.querySelectorAll('tr');
if (tr.bgColor != '#F4F4F4')
continue;
- var outlet_num = trim(tr.children[0].innerText);
- var outlet_name = trim(tr.children[1].innerText);
- var current_status = trim(tr.children[2].innerText);
- var new_status = trim(tr.children[3].innerText);
+ var outlet_num = tr.children[0].innerText.trim();
+ var outlet_name = tr.children[1].innerText.trim();
+ var current_status = tr.children[2].innerText.trim();
+ var new_status = tr.children[3].innerText.trim();
var confirmable = tr.children[3].children[0].hasAttribute('onclick');
row = tbl.insertRow(-1);
}
document.addEventListener('DOMContentLoaded', function() {
- storage.get(settings_keys, function(settings) {
- url_base = settings['url'] || settings_defaults['url'];
- user = settings['user'] || settings_defaults['user'];
- pass = settings['pass'] || settings_defaults['pass'];
+ storage.get(settings_keys, function(settings_storage) {
+ const settings = Object.assign({}, settings_defaults, settings_storage);
+ url_base = settings['url'];
+ user = settings['user'];
+ pass = settings['pass'];
chrome.permissions.contains({
origins: [url_base + '/*']
}, function(granted) {