/** * @author Usman Naeem */ var timeframe_name_map = new Map(); var preferred_timeframe_name_map = new Map(); async function load_timeframes(activeOnly, messageboxElement) { try { if (timeframe_name_map.size > 0) { return; } const url = "GetTimeframes" + (activeOnly ? "?active=true" : ""); const json = await callWebserviceGET(url, messageboxElement, null); if (json.code !== 200) { if (messageboxElement) { messageboxElement.innerHTML = json.message; } } else { await set_timeframes(json.timeframes, activeOnly); } } catch (error) { throw new Error("Failed to load timeframes"); } } function set_timeframes(timeframes_json, activeOnly) { timeframe_name_map.clear(); const timeframesMap = new Map(); timeframes_json.forEach(timeframe => { if (!activeOnly || timeframe.active) { if (!timeframesMap.has(timeframe.id)) { timeframesMap.set(timeframe.id, timeframe); } } }); timeframe_name_map = new Map([...timeframesMap.entries()].sort(function (a, b) { return a - b; })); } async function load_preferred_timeframes(messageboxElement) { try { const url = "GetUserTimeframePreferences"; const json = await callWebserviceGET(url, messageboxElement, null); if (json.code !== 200) { if (messageboxElement) { messageboxElement.innerHTML = json.message; } } else { await set_preferred_timeframes(json.user_timeframe_preferences); } } catch (error) { console.log(error); throw new Error("Failed to load preferred timeframes"); } } function set_preferred_timeframes(user_timeframe_preferences_json) { preferred_timeframe_name_map.clear(); const timeframesMap = new Map(); user_timeframe_preferences_json.forEach(preferredTimeframe => { if (!timeframesMap.has(preferredTimeframe.timeframe_id)) { const timeframeName = timeframe_name_map.get(preferredTimeframe.timeframe_id); timeframesMap.set(preferredTimeframe.timeframe_id, timeframeName); } }); preferred_timeframe_name_map = new Map([...timeframesMap.entries()].sort(function (a, b) { return a - b; })); }