/**
* @author Usman Naeem
*/
function enablePreferredTimeframesPage() {
addLoader();
setPage("preferred_timeframes_page");
addHeader(true);
addFooter();
const messageboxElement = getElement("preferred_timeframes_message_box");
messageboxElement.innerHTML = "";
//
load_user(messageboxElement).then(() => {
load_timeframes(false).then(() => {
load_preferred_timeframes(messageboxElement).then(() => {
removeLoader();
load_preferred_timeframe_div_list();
}).catch(error => {
handleError(error, "preferred_timeframes_message_box", true);
return;
});
}).catch(error => {
handleError(error, "preferred_timeframes_message_box", true);
return;
});
}).catch(error => {
handleError(error, "preferred_timeframes_message_box", true);
enableLoginPage();
return;
});
}
function load_preferred_timeframe_div_list() {
const preferredDivContainer = getElement("preferred_timeframes_div_container");
preferredDivContainer.innerHTML = "";
var timeframesMap = new Map([...timeframe_name_map.entries()].sort(function (a, b) {
return a - b;
}));
timeframesMap.forEach(function (timeframeObj, id) {
const preferred = preferred_timeframe_name_map.has(id);
add_preferred_timeframe_div(id, timeframeObj.name, timeframeObj.active, preferred);
});
}
function add_preferred_timeframe_div(id, name, active, preferred) {
var preferredDiv = "
";
preferredDiv += "" + name + "";
preferredDiv += "" + (active ? "active" : "inactive") + "";
preferredDiv += "" + (preferred ? "✓" : " ") + "";
preferredDiv += "";
preferredDiv += "
";
const preferred_timeframes_div_container = getElement("preferred_timeframes_div_container");
preferred_timeframes_div_container.innerHTML += preferredDiv;
}
async function changeTimeframePreferrerence(id) {
const messageboxElement = getElement("preferred_timeframes_message_box");
messageboxElement.innerHTML = "";
const preferredDivElement = getElement("preferred_timeframe_div_" + id);
preferredDivElement.style.pointerEvents = 'none';
try {
const checkboxElement = getElement("checkbox_" + id);
const newPreference = !checkboxElement.checked;
var url;
if (newPreference) {
url = "AddUserTimeframePreference?timeframe_id=" + id;
} else {
url = "RemoveUserTimeframePreference?timeframe_id=" + id;
}
const json = await callWebserviceGET(url, messageboxElement, null);
if (json.code !== 200) {
messageboxElement.innerHTML = json.message;
} else {
const checkboxLabelElement = getElement("checkbox_label_" + id);
checkboxLabelElement.innerHTML = (newPreference ? "✓" : " ");
checkboxElement.checked = newPreference;
}
} catch (error) {
console.log(error);
messageboxElement.innerHTML = "Failed to change preferrence";
}
preferredDivElement.style.pointerEvents = 'auto';
}