Feat(home): over time tag spending comparison
This commit is contained in:
@@ -3,7 +3,7 @@ import Vue from 'vue'
|
||||
import path from 'path'
|
||||
import Papa from 'papaparse'
|
||||
import moment from 'moment'
|
||||
import { appendTag, formatDate } from '../../libs/data_processing'
|
||||
import { appendTag, formatDate, tag_filter } from '../../libs/data_processing'
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
@@ -57,27 +57,25 @@ export default {
|
||||
return moment(x.Date).isSame(state.month, 'month')
|
||||
})
|
||||
},
|
||||
tag_filter_rows: (state, getters) => (tags, invert) => {
|
||||
// return rows filtered by date then by tags
|
||||
if (tags) {
|
||||
return getters.date_filter_rows.filter(row => {
|
||||
if (invert) {
|
||||
return tags.some(t => {
|
||||
return row.tags.map(t => t.name.toLowerCase())
|
||||
.indexOf(t.toLowerCase()) < 0
|
||||
})
|
||||
} else {
|
||||
return tags.every(t => {
|
||||
return row.tags.map(t => t.name.toLowerCase())
|
||||
.indexOf(t.toLowerCase()) > -1
|
||||
})
|
||||
}
|
||||
})
|
||||
tag_filter_rows: (state, getters) => (tags, invert, dateFilter = true) => {
|
||||
// return rows filtered by tags
|
||||
// by default it filters rows by date
|
||||
// to disable date filtering set date_filter to false
|
||||
var rows
|
||||
if (dateFilter) {
|
||||
rows = getters.date_filter_rows
|
||||
} else {
|
||||
rows = getters.spending_rows
|
||||
}
|
||||
if (tags.length > 0) {
|
||||
return tag_filter(rows, tags, invert)
|
||||
} else {
|
||||
if (invert) {
|
||||
return []
|
||||
return rows.filter(r => {
|
||||
return r.tags.map(t => t.name.toLowerCase()).toString() === ["cb"].toString()
|
||||
})
|
||||
} else {
|
||||
return getters.date_filter_rows
|
||||
return rows
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -99,7 +97,12 @@ export default {
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
months: (state, getters) => {
|
||||
// Set of month
|
||||
return [... new Set(getters.rows.map(x => moment(x.Date).format('MMMM YYYY')))]
|
||||
}
|
||||
|
||||
},
|
||||
mutations: {
|
||||
CLEAR_DATA: (state) => {
|
||||
|
||||
Reference in New Issue
Block a user