0170ec447519a2fc91ee579e9b11a6d1d0275c60
#compte=Maud&client=EPAU&type=versement&annee=2023&ecarts=1&aller=2024 -- reload the page or send the link and the same filtered view (or year jump) comes back. readHashState()/buildHashString() handle the encoding; syncHash() writes back via history.replaceState() (not pushState -- tweaking a dropdown shouldn't spam the back button with history entries), called from the existing filter watchers plus jumpToYear(). "aller" isn't an ongoing filter (jumpYearValue always resets to '' right after firing) so its target year is tracked separately (lastJumpYear) purely for the hash, and omitted whenever "annee" is also present -- the two describe overlapping year state and jumpToYear() already clears an active "Année" filter when it runs, so keeping both would just be redundant. mounted() applies compte/client/type/écarts unconditionally (they only narrow filteredRows, safe regardless of load path), then branches: annee in the hash sets filterYear (triggering enterYearMode() same as manual use), aller calls jumpToYear() directly, otherwise the default load()+scroll-to-bottom path runs as before -- each path already manages its own loading state and scroll position, so only one runs. Verified all three round-trip through reload: compte+type together (ensureScrollable extends to find matches, as before), aller=2023 (first fetch targets exactly 2023-01-01..2024-06-30), and annee=2022 (every loaded row's data-year is 2022, filter dropdown reflects it). Default no-hash load is unaffected.
Description
No description provided
1.2 MiB
Languages
php
44.6%
JavaScript
32.8%
CSS
13.4%
Twig
9.2%