settings data sent to python

This commit is contained in:
Neythen
2021-09-16 20:23:04 +01:00
parent aebc39c459
commit 7f70594aaf
18 changed files with 230 additions and 87 deletions

View File

@@ -598,7 +598,7 @@ var dispFormatButton = document.getElementById("dispformat-btn");
var displayFormats = document.getElementById("inputDisplayFormat");
// gets selected functions to display
function getSelected(selector) {
var opt;
for ( var i = 0, len = selector.options.length; i < len; i++ ) {
@@ -610,6 +610,17 @@ function getSelected(selector) {
return opt.innerHTML;
}
function getListItems(list_el) {
let symbols = list_el.getElementsByTagName("li");
let items = []
for (var i = 0; i < symbols.length; ++i) {
items.push(symbols[i].innerText);
}
return items;
}
// start the display
dispFormatButton.addEventListener("click", () => {
@@ -620,6 +631,8 @@ dispFormatButton.addEventListener("click", () => {
});
});
// saves the feature specific settings
function saveSettings() {
let featureSelector = document.getElementById("drop");
feature = getSelected(featureSelector);
@@ -630,17 +643,138 @@ function saveSettings() {
let page = document.getElementById(pageSelector);
// these common to all settings
let speed = getSelected(page.querySelectorAll(".speed-select")[0]);
let animation = getSelected(page.querySelectorAll(".animation-select")[0]);
console.log(speed);
console.log(animation);
var settings = {'feature': feature, 'speed':speed, 'animation':animation}; // general settings
var s;
//function specific settings
switch(pageNum){
case 1: case 2: case 3:
s = getTradingSettings(page);
break;
case 4: case 5:
s = getWeatherSettings(page);
break;
case 6:
s = getNewsSettings(page);
break;
case 7: case 8: case 9: case 10:
s = getSportsSettings(page);
break;
case 11: case 12:
s = getImageSettings(page);
break;
case 13:
s = getMessageSettings(page);
break;
}
settings = {...settings, ...s}; // merge both sets of settings
console.log(settings);
fetch("/feature_settings", {
method:"PUT",
body:JSON.stringify(settings)
});
}
let saveSettingsButtons = document.querySelectorAll(".save-btn-div").forEach(button =>
button.addEventListener("click", saveSettings)
)
// gets the stock, crypto or forex specific settings
function getTradingSettings(page) {
// get all the tick boxes
let percent = page.querySelectorAll(".percent-select")[0].checked;
let point = page.querySelectorAll(".point-select")[0].checked;
let no_logos = page.querySelectorAll(".logo-select")[0].checked;
let chart = page.querySelectorAll(".chart-select")[0].checked;
let title = page.querySelectorAll(".title-select")[0].checked;
let symbols_el = page.querySelectorAll(".symbol-list")[0];
let symbols = getListItems(symbols_el);
let settings = {'percent': percent, 'point':point, 'no_logos':no_logos, 'chart':chart, 'title': title, 'symbols': symbols}
return settings;
}
// gets the current wether and forecast settings
function getWeatherSettings(page) {
let temp = getSelected(page.querySelectorAll(".temp-select")[0]);
let speed = getSelected(page.querySelectorAll(".wind-speed-select")[0]);
let colour = getSelected(page.querySelectorAll(".colour-select")[0]);
let city_colour = getSelected(page.querySelectorAll(".city-colour-select")[0]);
let title = page.querySelectorAll(".title-select")[0].checked;
settings = {'temp':temp, 'speed': speed, 'colour':colour, 'city_colour':city_colour, 'title': title}
//only for daily weather
try {
current_weather = page.querySelectorAll(".current-weather-select")[0].checked;
console.log(current_weather);
settings['current_weather'] = current_weather;
} catch {
}
let cities_el = page.querySelectorAll(".city-list")[0];
let cities = getListItems(cities_el);
settings['cities'] = cities;
return settings;
}
function getNewsSettings(page){
let country = getSelected(page.querySelectorAll(".country-select")[0]);
let category = getSelected(page.querySelectorAll(".category-select")[0]);
let title = page.querySelectorAll(".title-select")[0].checked;
let sources_el = page.querySelectorAll(".sources-list")[0];
let sources = getListItems(sources_el);
settings = {'country':country, 'category': category, 'title':title, 'sources': sources};
return settings;
}
function getSportsSettings(page){
let title = page.querySelectorAll(".title-select")[0].checked;
let leagues_el = page.querySelectorAll(".league-list")[0];
leagues = getListItems(leagues_el);
settings = {'title':title, 'leagues':leagues};
return settings;
}
//images and GIFs
function getImageSettings(page){
let pause = page.querySelectorAll(".pause-select")[0].value;
let title = page.querySelectorAll(".title-select")[0].checked;
let images_el = page.querySelectorAll(".image-list")[0];
images = getListItems(images_el);
settings = {'title':title, 'pause':pause, 'images':images};
return settings;
}
function getMessageSettings(page) {
}