Move logic for hidden categories to client
This commit is contained in:
parent
674bef667b
commit
f93888cbbc
@ -163,24 +163,13 @@ func (h *Handler) calculateBalances(budget postgres.Budget,
|
||||
firstOfNextMonth time.Time, firstOfMonth time.Time, categories []postgres.GetCategoriesRow,
|
||||
cumultativeBalances []postgres.GetCumultativeBalancesRow) ([]CategoryWithBalance, postgres.Numeric) {
|
||||
categoriesWithBalance := []CategoryWithBalance{}
|
||||
hiddenCategory := NewCategoryWithBalance(&postgres.GetCategoriesRow{
|
||||
Name: "",
|
||||
Group: "Hidden Categories",
|
||||
})
|
||||
|
||||
moneyUsed := postgres.NewZeroNumeric()
|
||||
for i := range categories {
|
||||
cat := &categories[i]
|
||||
// do not show hidden categories
|
||||
categoryWithBalance := h.CalculateCategoryBalances(cat, cumultativeBalances,
|
||||
firstOfNextMonth, &moneyUsed, firstOfMonth, hiddenCategory, budget)
|
||||
if cat.Group == "Hidden Categories" {
|
||||
hiddenCategory.Available = hiddenCategory.Available.Add(categoryWithBalance.Available)
|
||||
hiddenCategory.AvailableLastMonth = hiddenCategory.AvailableLastMonth.Add(categoryWithBalance.AvailableLastMonth)
|
||||
hiddenCategory.Activity = hiddenCategory.Activity.Add(categoryWithBalance.Activity)
|
||||
hiddenCategory.Assigned = hiddenCategory.Assigned.Add(categoryWithBalance.Assigned)
|
||||
continue
|
||||
}
|
||||
firstOfNextMonth, &moneyUsed, firstOfMonth, budget)
|
||||
|
||||
if cat.ID == budget.IncomeCategoryID {
|
||||
continue
|
||||
@ -189,15 +178,12 @@ func (h *Handler) calculateBalances(budget postgres.Budget,
|
||||
categoriesWithBalance = append(categoriesWithBalance, categoryWithBalance)
|
||||
}
|
||||
|
||||
categoriesWithBalance = append(categoriesWithBalance, hiddenCategory)
|
||||
|
||||
return categoriesWithBalance, moneyUsed
|
||||
}
|
||||
|
||||
func (*Handler) CalculateCategoryBalances(cat *postgres.GetCategoriesRow,
|
||||
cumultativeBalances []postgres.GetCumultativeBalancesRow, firstOfNextMonth time.Time,
|
||||
moneyUsed *postgres.Numeric, firstOfMonth time.Time, hiddenCategory CategoryWithBalance,
|
||||
budget postgres.Budget) CategoryWithBalance {
|
||||
moneyUsed *postgres.Numeric, firstOfMonth time.Time, budget postgres.Budget) CategoryWithBalance {
|
||||
categoryWithBalance := NewCategoryWithBalance(cat)
|
||||
for _, bal := range cumultativeBalances {
|
||||
if bal.CategoryID != cat.ID {
|
||||
|
@ -14,10 +14,16 @@ const props = defineProps<{
|
||||
const budgetsStore = useBudgetsStore();
|
||||
const CurrentBudgetID = computed(() => budgetsStore.CurrentBudgetID);
|
||||
|
||||
const categoriesForMonth = useAccountStore().CategoriesForMonth;
|
||||
const accountStore = useAccountStore();
|
||||
const categoriesForMonth = accountStore.CategoriesForMonth;
|
||||
const Categories = computed(() => {
|
||||
return [...categoriesForMonth(selected.value.Year, selected.value.Month)];
|
||||
});
|
||||
const hiddenCategoriesForMonth = accountStore.HiddenCategoriesForMonth;
|
||||
const HiddenCategories = computed(() => {
|
||||
return [...hiddenCategoriesForMonth(selected.value.Year, selected.value.Month)];
|
||||
});
|
||||
|
||||
|
||||
const previous = computed(() => ({
|
||||
Year: new Date(selected.value.Year, selected.value.Month - 1, 1).getFullYear(),
|
||||
@ -88,5 +94,23 @@ onMounted(() => {
|
||||
<Currency :value="category.Available" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-for="category in HiddenCategories">
|
||||
<td>{{ category.Group }}</td>
|
||||
<td>{{ category.Name }}</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="text-right">
|
||||
<Currency :value="category.AvailableLastMonth" />
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<Currency :value="category.Assigned" />
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<Currency :value="category.Activity" />
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<Currency :value="category.Available" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</template>
|
||||
|
@ -58,7 +58,13 @@ export const useAccountStore = defineStore("budget/account", {
|
||||
const yearMap = state.Months.get(year);
|
||||
const monthMap = yearMap?.get(month);
|
||||
console.log("MTH", monthMap)
|
||||
return [...monthMap?.values() || []];
|
||||
return [...monthMap?.values() || []].filter(x => x.Group != "Hidden Categories");
|
||||
},
|
||||
HiddenCategoriesForMonth: (state) => (year: number, month: number) => {
|
||||
const yearMap = state.Months.get(year);
|
||||
const monthMap = yearMap?.get(month);
|
||||
console.log("MTH", monthMap)
|
||||
return [...monthMap?.values() || []].filter(x => x.Group == "Hidden Categories");
|
||||
},
|
||||
CurrentAccount(state): Account | undefined {
|
||||
if (state.CurrentAccountID == null)
|
||||
|
Loading…
x
Reference in New Issue
Block a user