diff --git a/src/components/mobile/PieChart.vue b/src/components/mobile/PieChart.vue index cbb90887..4735c7e0 100644 --- a/src/components/mobile/PieChart.vue +++ b/src/components/mobile/PieChart.vue @@ -40,15 +40,16 @@

-

+ Name {{ selectedItem.name }} Value {{ selectedItem.value | currency(defaultCurrency) }} -

-

+ + + {{ $t('No transaction data') }} -

+ @@ -71,6 +72,7 @@ export default { 'defaultCurrency', 'showCenterText', 'showSelectedItemInfo', + 'enableClickItem', 'centerTextBackground', ], data: function () { @@ -105,7 +107,8 @@ export default { name: item[this.nameField], value: item[this.valueField], percent: item[this.valueField] / totalValidValue, - color: item[this.colorField] ? item[this.colorField] : 'c8c8c8' + color: item[this.colorField] ? item[this.colorField] : 'c8c8c8', + sourceItem: item }); } } @@ -170,6 +173,11 @@ export default { } this.selectedIndex = newSelectedIndex % this.validItems.length; + }, + clickItem: function (item) { + if (this.enableClickItem) { + this.$emit('click', item.sourceItem); + } } }, filters: { @@ -240,12 +248,20 @@ export default { margin: 0 0 4px 0; } -.pie-chart-toolbox-info p > span { - padding-right: 8px; +.pie-chart-toolbox-info a { + color: var(--f7-text-color); } -.pie-chart-toolbox-info p > span:last-child { - padding-right: 0; +.pie-chart-toolbox-info a > span + span { + padding-left: 8px; +} + +.pie-chart-toolbox-info .item-navigate-icon { + color: rgba(0, 0, 0, 0.2); + font-size: 18px; + font-weight: bold; + padding-left: 4px; + margin-bottom: 2px; } .pie-chart-toolbox-button { diff --git a/src/views/mobile/statistics/Transaction.vue b/src/views/mobile/statistics/Transaction.vue index ecfb7340..93d32730 100644 --- a/src/views/mobile/statistics/Transaction.vue +++ b/src/views/mobile/statistics/Transaction.vue @@ -42,12 +42,14 @@ :min-valid-percent="0.0001" :show-center-text="true" :show-selected-item-info="true" + :enable-click-item="true" :default-currency="defaultCurrency" class="statistics-pie-chart" name-field="name" value-field="totalAmount" color-field="color" v-else-if="!loading" + @click="clickPieChartItem" > {{ $t('Total Expense') }} {{ $t('Total Income') }} @@ -619,6 +621,9 @@ export default { return `${displayStartTime} ~ ${displayEndTime}`; }, + clickPieChartItem(item) { + this.$f7router.navigate(this.$options.filters.itemLinkUrl(item, this.query, this.$constants.statistics.allChartDataTypes)); + }, settings() { this.$f7router.navigate('/statistic/settings'); }