select accounts

This commit is contained in:
Gwenhael Le Moine 2019-11-25 11:51:02 +01:00
parent 53bc76aeab
commit 0efc88e71d
No known key found for this signature in database
GPG key ID: FDFE3669426707A7

View file

@ -58,42 +58,52 @@
${dataset.map( line => data_to_donut_segment( line ) ).join("")} ${dataset.map( line => data_to_donut_segment( line ) ).join("")}
</svg>`; </svg>`;
} }
}; };
let current_period; let current_period;
let granularity = 3; let granularity = 3;
const Controls = { const Controls = {
period: { period: {
set: ( period ) => { set: ( period ) => {
current_period = period; current_period = period;
const months = { 0: 'Janvier', const months = { 0: 'Janvier',
1: 'Février', 1: 'Février',
2: 'Mars', 2: 'Mars',
3: 'Avril', 3: 'Avril',
4: 'Mai', 4: 'Mai',
5: 'Juin', 5: 'Juin',
6: 'Juillet', 6: 'Juillet',
7: 'Août', 7: 'Août',
8: 'Septembre', 8: 'Septembre',
9: 'Octobre', 9: 'Octobre',
10: 'Novembre', 10: 'Novembre',
11: 'Décembre' }; 11: 'Décembre' };
document.querySelector( "#period #display" ).innerHTML = `${months[ current_period.getMonth() ]} ${current_period.getFullYear()}`; document.querySelector( "#period #display" ).innerHTML = `${months[ current_period.getMonth() ]} ${current_period.getFullYear()}`;
monthly(); monthly();
}, },
get: () => current_period, get: () => current_period,
prev: () => { prev: () => {
current_period.setMonth( current_period.getMonth() - 1 ); current_period.setMonth( current_period.getMonth() - 1 );
Controls.period.set( current_period ); Controls.period.set( current_period );
}, },
next: () => { next: () => {
current_period.setMonth( current_period.getMonth() + 1 ); current_period.setMonth( current_period.getMonth() + 1 );
Controls.period.set( current_period ); Controls.period.set( current_period );
}, },
}, },
accounts: {
init: async () => {
let accounts = await API.accounts();
let account_to_option = ( account ) => `<option value="${account.join(':')}">${account.join(':')}</option>`;
document.querySelector("#accounts").innerHTML = `<select multiple name="accounts" id="lstaccounts">
${accounts.map( account => account_to_option( account )).join('')}
</select>`;
}
}
/* granularity: { /* granularity: {
* set: ( value ) => { * set: ( value ) => {
* if ( !isNaN( parseInt( value ) ) ) { * if ( !isNaN( parseInt( value ) ) ) {
@ -134,12 +144,19 @@
<input oninput="Controls.granularity.set( this.value );"> <input oninput="Controls.granularity.set( this.value );">
</div> --> </div> -->
</div> </div>
<div id="accounts">
</div>
<div id="month"> <div id="month">
<div id="donut" style="height: 256; width: 256;"></div> <div id="donut" style="height: 256; width: 256;"></div>
</div> </div>
<script> <script>
Controls.period.set( new Date() ); (async () => {
await Controls.accounts.init();
console.log( await API.graph_values( "", ["Expenses", "Income"].join(" "), "monthly" ) )
await Controls.period.set( new Date() );
})();
</script> </script>
</body> </body>
</html> </html>