1- var el = { } , data = { } ;
1+ const $ = require ( 'jquery' ) ;
2+ var DS = require ( 'nedb' ) ;
3+
4+ var el = {
5+ accountSettings : { }
6+ } ;
7+
8+ var data = {
9+ accountSettings : {
10+ capital : 0 ,
11+ minRisk : 0 ,
12+ maxRisk : 0 ,
13+ makerFee : 0 ,
14+ takerFee : 0
15+ }
16+ } ;
17+
18+ var db = { } ;
219
320function cacheSelectors ( ) {
4- el . sl = document . getElementById ( 'sl' ) ;
5- el . ps = document . getElementById ( 'ps' ) ;
6- el . lev = document . getElementById ( 'lev' ) ;
7- el . minRisk = document . getElementById ( 'min-risk' ) ;
8- el . maxRisk = document . getElementById ( 'max-risk' ) ;
9- el . capital = document . getElementById ( 'capital' ) ;
10- el . margin = document . getElementById ( 'margin' ) ;
11- el . risk = document . getElementById ( 'risk' ) ;
21+ cacheAccountSettingsSelectors ( ) ;
22+ }
23+
24+ function cacheAccountSettingsSelectors ( ) {
25+ el . accountSettings . editButton = $ ( '#button-edit-account-settings' ) ;
26+ el . accountSettings . form = $ ( '#form-account-settings' ) ;
27+ el . accountSettings . section = $ ( '#section-account-settings' ) ;
28+ el . accountSettings . cancel = $ ( '#button-cancel-account-settings' ) ;
29+ el . accountSettings . save = $ ( '#button-save-account-settings' ) ;
1230}
1331
1432function eventBindings ( ) {
15- el . sl . addEventListener ( 'keyup' , calc ) ;
16- el . ps . addEventListener ( 'keyup' , calc ) ;
17- el . lev . addEventListener ( 'keyup' , calc ) ;
18- el . minRisk . addEventListener ( 'keyup' , calc ) ;
19- el . maxRisk . addEventListener ( 'keyup' , calc ) ;
20- el . capital . addEventListener ( 'keyup' , calc ) ;
33+ eventBindingsForAccountSettings ( ) ;
2134}
2235
23- function updateData ( ) {
24- data . sl = el . sl . value ;
25- data . ps = el . ps . value ;
26- data . lev = el . lev . value || 1 ;
27- data . minRisk = el . minRisk . value ;
28- data . maxRisk = el . maxRisk . value ;
29- data . capital = el . capital . value ;
36+ function eventBindingsForAccountSettings ( ) {
37+ el . accountSettings . editButton . click ( ( ) => { toggleAccountSettingsForm ( true ) } ) ;
38+ el . accountSettings . cancel . click ( ( ) => { toggleAccountSettingsForm ( false ) } ) ;
39+ el . accountSettings . save . click ( ( ) => {
40+ updateAccountSettingsData ( ) ;
41+ toggleAccountSettingsForm ( false ) ;
42+ renderAccountSettingsData ( ) ;
43+ } ) ;
3044}
3145
32- function calc ( ) {
33- updateData ( ) ;
46+ function toggleAccountSettingsForm ( showForm ) {
47+ if ( showForm ) {
48+ renderAccountSettingsData ( true ) ;
49+ el . accountSettings . form . removeClass ( 'hide' ) ;
50+ el . accountSettings . section . addClass ( 'hide' ) ;
51+ } else {
52+ el . accountSettings . form . addClass ( 'hide' ) ;
53+ el . accountSettings . section . removeClass ( 'hide' ) ;
54+ }
55+ }
3456
35- data . margin = data . ps / data . lev ;
36- data . risk = ( ( data . sl / 100 ) * data . lev ) * data . margin
57+ function updateAccountSettingsData ( ) {
58+ data . accountSettings . capital = $ ( '#txt-capital' ) . val ( ) ;
59+ data . accountSettings . minRisk = $ ( '#txt-min-risk' ) . val ( ) ;
60+ data . accountSettings . maxRisk = $ ( '#txt-max-risk' ) . val ( ) ;
61+ data . accountSettings . makerFee = $ ( '#txt-maker-fee' ) . val ( ) ;
62+ data . accountSettings . takerFee = $ ( '#txt-taker-fee' ) . val ( ) ;
3763
38- el . margin . innerHTML = data . margin ;
39- el . risk . innerHTML = data . risk ;
64+ db . accountSettings . findOne ( { exchange : 'default' } , ( err , docs ) => {
65+ if ( ! docs ) {
66+ db . accountSettings . insert ( {
67+ exchange : 'default' ,
68+ capital : data . accountSettings . capital ,
69+ minRisk : data . accountSettings . minRisk ,
70+ maxRisk : data . accountSettings . maxRisk ,
71+ makerFee : data . accountSettings . makerFee ,
72+ takerFee : data . accountSettings . takerFee
73+ } )
74+ } else {
75+ db . accountSettings . update ( {
76+ exchange : 'default'
77+ } , {
78+ exchange : 'default' ,
79+ capital : data . accountSettings . capital ,
80+ minRisk : data . accountSettings . minRisk ,
81+ maxRisk : data . accountSettings . maxRisk ,
82+ makerFee : data . accountSettings . makerFee ,
83+ takerFee : data . accountSettings . takerFee
84+ } )
85+ }
86+ } )
87+ }
4088
41- if ( data . risk < data . minRisk ) {
42- el . risk . style . color = "green" ;
43- } else if ( data . risk > data . minRisk && data . risk < data . maxRisk ) {
44- el . risk . style . color = "orange" ;
89+ function renderAccountSettingsData ( isForm ) {
90+ if ( isForm ) {
91+ $ ( '#txt-capital' ) . val ( data . accountSettings . capital ) ;
92+ $ ( '#txt-min-risk' ) . val ( data . accountSettings . minRisk ) ;
93+ $ ( '#txt-max-risk' ) . val ( data . accountSettings . maxRisk ) ;
94+ $ ( '#txt-maker-fee' ) . val ( data . accountSettings . makerFee ) ;
95+ $ ( '#txt-taker-fee' ) . val ( data . accountSettings . takerFee ) ;
4596 } else {
46- el . risk . style . color = "red" ;
97+ $ ( '#lbl-capital' ) . html ( data . accountSettings . capital ) ;
98+ $ ( '#lbl-min-risk' ) . html ( data . accountSettings . minRisk ) ;
99+ $ ( '#lbl-max-risk' ) . html ( data . accountSettings . maxRisk ) ;
100+ $ ( '#lbl-maker-fee' ) . html ( data . accountSettings . makerFee ) ;
101+ $ ( '#lbl-taker-fee' ) . html ( data . accountSettings . takerFee ) ;
47102 }
48103}
49104
50- function init ( ) {
51- console . log ( 'init' )
105+ $ ( window ) . on ( 'load' , ( ) => {
106+
107+ db . accountSettings = new DS ( {
108+ filename : './account-settings.db' ,
109+ autoload : true ,
110+ timestampData : true
111+ } ) ;
112+
113+ db . accountSettings . findOne ( { exchange : 'default' } , ( err , docs ) => {
114+ if ( docs ) {
115+ console . log ( docs ) ;
116+ data . accountSettings . capital = docs . capital ;
117+ data . accountSettings . minRisk = docs . minRisk ;
118+ data . accountSettings . maxRisk = docs . maxRisk ;
119+ data . accountSettings . makerFee = docs . makerFee ;
120+ data . accountSettings . takerFee = docs . takerFee ;
121+ }
122+
123+ renderAccountSettingsData ( ) ;
124+ } )
125+
52126 cacheSelectors ( ) ;
53127 eventBindings ( ) ;
54- calc ( ) ;
55- }
56128
57- window . onload = init ;
129+ } )
0 commit comments