From d2eba715d5d3b2b75bf3cf8003cefa6cda77382b Mon Sep 17 00:00:00 2001 From: Alex Rock Ancelet Date: Mon, 8 Apr 2024 11:12:46 +0200 Subject: [PATCH] Some fixes to analytics and operations results --- src-tauri/src/config.rs | 2 +- src-tauri/src/entities/tag_rules.rs | 1 + .../PaginatedTable/FiltersSelector.svelte | 8 +++----- src/lib/components/Navigation.svelte | 1 - src/lib/operation_graphs/YearMonthTags.ts | 2 +- src/routes/analytics/+page.svelte | 17 +++++------------ 6 files changed, 11 insertions(+), 20 deletions(-) diff --git a/src-tauri/src/config.rs b/src-tauri/src/config.rs index 8124aa4e..74a06f68 100644 --- a/src-tauri/src/config.rs +++ b/src-tauri/src/config.rs @@ -2,7 +2,7 @@ use std::fs; use std::path::PathBuf; use tauri::api::path::home_dir; -pub(crate) const NUMBER_PER_PAGE: u16 = 10; +pub(crate) const NUMBER_PER_PAGE: u16 = 20; pub(crate) fn compotes_dir() -> PathBuf { let compotes_dir = home_dir() diff --git a/src-tauri/src/entities/tag_rules.rs b/src-tauri/src/entities/tag_rules.rs index 8c038523..6b7708f4 100644 --- a/src-tauri/src/entities/tag_rules.rs +++ b/src-tauri/src/entities/tag_rules.rs @@ -32,6 +32,7 @@ pub(crate) fn find_all(conn: &Connection) -> Vec { WHERE tag_rule_id = tag_rules.id ) AS tags_ids FROM tag_rules + ORDER BY length(matching_pattern) DESC ", ) .expect("Could not fetch tag_rules"); diff --git a/src/lib/admin/components/PaginatedTable/FiltersSelector.svelte b/src/lib/admin/components/PaginatedTable/FiltersSelector.svelte index c1657a89..49f3a8f8 100644 --- a/src/lib/admin/components/PaginatedTable/FiltersSelector.svelte +++ b/src/lib/admin/components/PaginatedTable/FiltersSelector.svelte @@ -44,9 +44,8 @@ }); } - async function selectFilter(event) { - const name = event.target.value; - + async function selectFilter(name: string|null) { + selected_filter = name || null; if (!name) { await clearFilters(); @@ -150,8 +149,7 @@ name="filters_select" id="filters_select" class="form-control ms-auto" - bind:value={selected_filter} - on:change={selectFilter} + on:change={(e) => selectFilter(e.value)} > {#each saved_filters as filter} diff --git a/src/lib/components/Navigation.svelte b/src/lib/components/Navigation.svelte index bb1aad26..d7d7418a 100644 --- a/src/lib/components/Navigation.svelte +++ b/src/lib/components/Navigation.svelte @@ -21,7 +21,6 @@ syncing = true; const res = await OperationsSynchronizer.sync(); - console.info({res}); message(res.isOk() ? res.unwrap() : res.unwrapErr(), res.isOk() ? ToastType.success : ToastType.error); syncing = false; } diff --git a/src/lib/operation_graphs/YearMonthTags.ts b/src/lib/operation_graphs/YearMonthTags.ts index 092e8466..17d8975f 100644 --- a/src/lib/operation_graphs/YearMonthTags.ts +++ b/src/lib/operation_graphs/YearMonthTags.ts @@ -47,7 +47,7 @@ export default class YearMonthTags extends AbstractOperationGraph { full_series[year].tags[tag_name].months[month] = 0; } - full_series[year].tags[tag_name].months[month] += operation.amount; + full_series[year].tags[tag_name].months[month] += Number(operation.amount); } } diff --git a/src/routes/analytics/+page.svelte b/src/routes/analytics/+page.svelte index 6d875bcb..b7d02bff 100644 --- a/src/routes/analytics/+page.svelte +++ b/src/routes/analytics/+page.svelte @@ -33,8 +33,6 @@ async function changeFilter(event: CustomEvent) { const selected_filter: SavedFilter | null = event.detail; - console.info('changed filter', selected_filter); - if (!selected_filter) { operations = []; return; @@ -101,8 +99,6 @@ `Invalid graph type "${current_graph_type}" (value type found: "${type}").` ); } - - console.info('chart_data', chart_data); } @@ -172,16 +168,16 @@ {#if chart_data?.datasets}

Data:

- +
{#each (chart_data?.labels||[]) as label} {/each} - - - + + + @@ -190,10 +186,7 @@ {#each dataset.data as data} {/each}
 {label}#Average/Mean#Median#Total# Average/Mean# Median# Total
{dataset.label} - - {new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR' }).format(data).toString()} - - + {new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR' }).format(data).toString()} {new Intl.NumberFormat('fr-FR', {style: 'currency', currency: 'EUR'}).format(dataset.data.reduce((a, b) => a + b, 0) / dataset.data.length).toString()}