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');
}