/** * @author Usman Naeem */ const items = new Array(); const preferred_items = new Array(); const analyzed_items = new Array(); async function load_items(messageboxElement) { try { if(items.length > 0) { return; } const url = "GetItems"; const json = await callWebserviceGET(url, messageboxElement, null); if(!json) { return; } if (json.code !== 200) { if (messageboxElement) { messageboxElement.innerHTML = json.message; } } else { await set_items(json.items); } } catch (error) { console.log(error); throw new Error("Failed to load items"); } } async function set_items(items_json) { items.length = 0; items_json.forEach(item => { if (item.active) { if (!items.includes(item.id)) { items.push(item.id); } } }); items.sort(); } async function load_preferred_items(messageboxElement) { try { const url = "GetUserItemPreferences"; const json = await callWebserviceGET(url, messageboxElement, null); if(!json) { return; } if (json.code !== 200) { if (messageboxElement) { messageboxElement.innerHTML = json.message; } } else { await set_preferred_items(json.user_item_preferences); } } catch (error) { console.log(error); throw new Error("Failed to load preferred items"); } } async function set_preferred_items(user_item_preferences_json) { preferred_items.length = 0; user_item_preferences_json.forEach(preferredItem => { if (!preferred_items.includes(preferredItem.item_id)) { preferred_items.push(preferredItem.item_id); } }); preferred_items.sort(); } async function load_analyzed_items(messageboxElement) { try { const url = "GetAnalyzedItems"; const json = await callWebserviceGET(url, messageboxElement, null); if(!json) { return; } if (json.code !== 200) { if (messageboxElement) { messageboxElement.innerHTML = json.message; } } else { await set_analyzed_items(json.analyzed_items); analyzed_items.sort(); } } catch (error) { console.log(error); throw new Error("Failed to load analyzed items"); } } async function set_analyzed_items(analyzed_items_json) { analyzed_items.length = 0; analyzed_items_json.forEach(analyzedItem => { if (!analyzed_items.includes(analyzedItem.item_id)) { analyzed_items.push(analyzedItem.item_id); } }); analyzed_items.sort(); //TEST if (analyzed_items.length === 0) { const messageboxElement = getElement("message_box"); // messageboxElement.innerHTML = "No item is analyzed at the moment. Items added for Testing."; // analyzed_items.push("EUR/USD"); // analyzed_items.push("EUR/JPY"); // analyzed_items.push("USD/JPY"); // analyzed_items.push("AUD/USD"); // analyzed_items.push("USD/CAD"); // analyzed_items.push("GBP/USD"); } }