Files
firefly-iii/frontend/src/components/dashboard/MainAccount.vue

80 lines
2.8 KiB
Vue
Raw Normal View History

2020-07-03 05:59:36 +02:00
<!--
- MainAccount.vue
- Copyright (c) 2020 james@firefly-iii.org
-
- This file is part of Firefly III (https://github.com/firefly-iii).
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
2020-06-17 07:06:45 +02:00
<template>
<div class="card">
<div class="card-header">
<h3 class="card-title">{{ $t('firefly.yourAccounts') }}</h3>
</div>
<div class="card-body">
<div>
<main-account-chart v-if="loaded" :styles="chartStyles" :options="chartOptions" :chart-data="chartData"></main-account-chart>
2020-06-17 07:06:45 +02:00
</div>
</div>
<div class="card-footer">
<a href="./accounts/asset" class="btn btn-default button-sm"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_asset_accounts') }}</a>
</div>
</div>
</template>
<script>
import MainAccountChart from "./MainAccountChart";
2020-06-20 19:09:37 +02:00
import DataConverter from "../charts/DataConverter";
2020-06-21 18:29:23 +02:00
import DefaultLineOptions from "../charts/DefaultLineOptions";
2020-06-17 07:06:45 +02:00
export default {
components: {
MainAccountChart
},
data() {
return {
2020-06-20 19:09:37 +02:00
chartData: null,
loaded: false,
chartOptions: null,
2020-06-17 07:06:45 +02:00
}
},
mounted() {
2020-06-21 18:29:23 +02:00
this.chartOptions = DefaultLineOptions.methods.getDefaultOptions();
2020-06-20 19:09:37 +02:00
this.loaded = false;
axios.get('./api/v1/chart/account/overview?start=' + window.sessionStart + '&end=' + window.sessionEnd)
.then(response => {
this.chartData = DataConverter.methods.convertChart(response.data);
2020-06-21 18:29:23 +02:00
this.chartData = DataConverter.methods.colorizeData(this.chartData);
this.chartData = DataConverter.methods.convertLabelsToDate(this.chartData);
2020-06-20 19:09:37 +02:00
this.loaded = true
});
2020-06-17 07:06:45 +02:00
},
methods: {
2020-06-20 19:09:37 +02:00
2020-06-17 07:06:45 +02:00
},
computed: {
chartStyles() {
2020-06-17 07:06:45 +02:00
return {
height: '400px',
'max-height': '400px',
position: 'relative',
display: 'block',
}
}
},
name: "MainAccount"
}
</script>