settings data sent to python
This commit is contained in:
140
static/app.js
140
static/app.js
@@ -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) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user