92 lines
3.6 KiB
JavaScript
92 lines
3.6 KiB
JavaScript
|
|
//
|
|
//class Header {
|
|
// constructor() {
|
|
// this.height = height;
|
|
// }
|
|
//}
|
|
|
|
class User_Interface{
|
|
/* This contains all the code for our User interface.
|
|
The code is separated into classes that maintain and
|
|
provide the data and functionality of each panel of
|
|
the UI. */
|
|
constructor() {
|
|
|
|
/*The Exchanges class is is responsible for maintaining
|
|
and retrieving exchanges data from the server. Also
|
|
issuing exchange related commands to the server.*/
|
|
this.exchanges = new Exchanges();
|
|
|
|
/* Data object is responsible for fetching and maintaining
|
|
up-to-date configurable and variable data for the UI */
|
|
this.data = new Data();
|
|
|
|
/* The object that handles the interface controls.*/
|
|
this.controls = new Controls();
|
|
|
|
/* The object that handles the signals interface.*/
|
|
this.signals = new Signals(this.data.indicators);
|
|
|
|
/* The object that handles alerts. Pass in the html
|
|
element that will hold the list of alerts*/
|
|
this.alerts = new Alerts("alert_list");
|
|
|
|
/* The object that handles alerts. Pass in the html
|
|
element that will hold the strategies interface.*/
|
|
this.strats = new Strategies("strats_display");
|
|
|
|
/* The object that handles trades. Pass in the html
|
|
element that will hold the trade interface.*/
|
|
this.trade = new Trade();
|
|
|
|
/* The object that handles user log in */
|
|
this.users = new Users();
|
|
|
|
/* Indicators contains methods that interact with indicator
|
|
related menus and update indicator output in charts and panels. */
|
|
this.indicators = new Indicators();
|
|
|
|
/* Register an Indicator callback method to receive updates from the data class. */
|
|
this.data.registerCallback_i_updates(this.indicators.update);
|
|
|
|
window.addEventListener('load', function () {
|
|
/* This javascript files are loaded before the entire
|
|
HTML document gets parsed. Place initializers here
|
|
to be executed after the document is loaded. */
|
|
|
|
/* Charts object is responsible for maintaining the
|
|
data visualisation area in the UI. */
|
|
let chart_init_data = {
|
|
chart1_id : window.UI.data.chart1_id,
|
|
chart2_id : window.UI.data.chart2_id,
|
|
chart3_id : window.UI.data.chart3_id,
|
|
trading_pair : window.UI.data.trading_pair,
|
|
price_history : window.UI.data.price_history
|
|
}
|
|
window.UI.charts = new Charts(chart_init_data);
|
|
|
|
/* Pass the initialization data to indicators. */
|
|
let ind_init_data = {
|
|
// A list of indicator object available for display.
|
|
indicators: window.UI.data.indicators,
|
|
// Output data - indicator specific format. Example: list of indexed value, bools, or colours codes.
|
|
indicator_data: window.UI.data.indicator_data
|
|
};
|
|
// Pass in a reference to Charts so the indicators can update them directly
|
|
window.UI.indicators.addToCharts(window.UI.charts, ind_init_data);
|
|
|
|
/* Request Initialization data from the server. All incoming
|
|
data is forwarded to any registered callback functions. */
|
|
window.UI.signals.request_signals();
|
|
window.UI.alerts.set_target();
|
|
window.UI.strats.initialize();
|
|
window.UI.controls.init_TP_selector();
|
|
window.UI.trade.initialize();
|
|
window.UI.exchanges.initialize();
|
|
});
|
|
|
|
}
|
|
}
|
|
UI = new User_Interface();
|