add files
This commit is contained in:
107
assets/wvbrowser_ui/content_ui/settings.js
Normal file
107
assets/wvbrowser_ui/content_ui/settings.js
Normal file
@ -0,0 +1,107 @@
|
||||
const messageHandler = event => {
|
||||
var message = event.data.message;
|
||||
var args = event.data.args;
|
||||
|
||||
switch (message) {
|
||||
case commands.MG_GET_SETTINGS:
|
||||
loadSettings(args.settings);
|
||||
break;
|
||||
case commands.MG_CLEAR_CACHE:
|
||||
if (args.content && args.controls) {
|
||||
updateLabelForEntry('entry-cache', 'Cleared');
|
||||
} else {
|
||||
updateLabelForEntry('entry-cache', 'Try again');
|
||||
}
|
||||
break;
|
||||
case commands.MG_CLEAR_COOKIES:
|
||||
if (args.content && args.controls) {
|
||||
updateLabelForEntry('entry-cookies', 'Cleared');
|
||||
} else {
|
||||
updateLabelForEntry('entry-cookies', 'Try again');
|
||||
}
|
||||
break;
|
||||
default:
|
||||
console.log(`Unexpected message: ${JSON.stringify(event.data)}`);
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
function addEntriesListeners() {
|
||||
let cacheEntry = document.getElementById('entry-cache');
|
||||
cacheEntry.addEventListener('click', function(e) {
|
||||
let message = {
|
||||
message: commands.MG_CLEAR_CACHE,
|
||||
args: {}
|
||||
};
|
||||
|
||||
window.chrome.webview.postMessage(message);
|
||||
});
|
||||
|
||||
let cookiesEntry = document.getElementById('entry-cookies');
|
||||
cookiesEntry.addEventListener('click', function(e) {
|
||||
let message = {
|
||||
message: commands.MG_CLEAR_COOKIES,
|
||||
args: {}
|
||||
};
|
||||
|
||||
window.chrome.webview.postMessage(message);
|
||||
});
|
||||
|
||||
let scriptEntry = document.getElementById('entry-script');
|
||||
scriptEntry.addEventListener('click', function(e) {
|
||||
// Toggle script support
|
||||
});
|
||||
|
||||
let popupsEntry = document.getElementById('entry-popups');
|
||||
popupsEntry.addEventListener('click', function(e) {
|
||||
// Toggle popups
|
||||
});
|
||||
}
|
||||
|
||||
function requestBrowserSettings() {
|
||||
let message = {
|
||||
message: commands.MG_GET_SETTINGS,
|
||||
args: {}
|
||||
};
|
||||
|
||||
window.chrome.webview.postMessage(message);
|
||||
}
|
||||
|
||||
function loadSettings(settings) {
|
||||
if (settings.scriptsEnabled) {
|
||||
updateLabelForEntry('entry-script', 'Enabled');
|
||||
} else {
|
||||
updateLabelForEntry('entry-script', 'Disabled');
|
||||
}
|
||||
|
||||
if (settings.blockPopups) {
|
||||
updateLabelForEntry('entry-popups', 'Blocked');
|
||||
} else {
|
||||
updateLabelForEntry('entry-popups', 'Allowed');
|
||||
}
|
||||
}
|
||||
|
||||
function updateLabelForEntry(elementId, label) {
|
||||
let entryElement = document.getElementById(elementId);
|
||||
if (!entryElement) {
|
||||
console.log(`Element with id ${elementId} does not exist`);
|
||||
return;
|
||||
}
|
||||
|
||||
let labelSpan = entryElement.querySelector(`.entry-value span`);
|
||||
|
||||
if (!labelSpan) {
|
||||
console.log(`${elementId} does not have a label`);
|
||||
return;
|
||||
}
|
||||
|
||||
labelSpan.textContent = label;
|
||||
}
|
||||
|
||||
function init() {
|
||||
window.chrome.webview.addEventListener('message', messageHandler);
|
||||
requestBrowserSettings();
|
||||
addEntriesListeners();
|
||||
}
|
||||
|
||||
init();
|
||||
Reference in New Issue
Block a user