Skip to content

Filtre tableau rework#58

Merged
vampi62 merged 10 commits intomainfrom
filtre-tableau-rework
Mar 5, 2026
Merged

Filtre tableau rework#58
vampi62 merged 10 commits intomainfrom
filtre-tableau-rework

Conversation

@vampi62
Copy link
Owner

@vampi62 vampi62 commented Mar 5, 2026

This pull request introduces several improvements and fixes across the backend and frontend of the Electrostore application, focusing on enhanced filtering, sorting, and data handling in tables and components. The most significant changes include improved type-safe filtering and sorting logic, new support for checkbox filters, and refactoring for more robust component property handling.

Backend: expose computed item quantity (quantity_item) on Items model and ReadItemDto, and make RSQL parser type conversions robust by catching Convert.ChangeType exceptions and skipping invalid filters. Frontend: adjust filter and table logic to align with RSQL operator conventions (==, =ge=, =le=, =like=), simplify buildRSQLFilter/buildRSQLSort output, and update Tableau row rendering to use v-memo + click navigation. FilterContainer: add support for async/store-backed options (fetch-options, store-data, store-key) and refine prop docs. Multiple Pinia stores: unify URL param construction by joining parameter segments (removed .filter calls). Various view components updated to use sourceKey/valueKey/tableauId and reflect the new filtering/sorting conventions.
Centralize and simplify table data processing: switch sorting to use sort.key, add compileStoreData to build printable row values (including link-list resolution), and add evaluateCondition. Move value resolution into Tableau so TableauRow receives precompiled row values (remove storeData prop usage), simplify formatCellValue, and make list/link-list rendering use row[column.key]. Add array-aware string/like filtering that ignores accents. Normalize link-list property names (storeLinkId, storeRessourceId, storeLinkKeyJoinSource/Ressource) and fix keys in multiple views (Commands, Inventory, Projets, Stores). Minor UI tweaks: comment out image template and streamline row/component props.
Extend Tableau/TableauRow to support image and dynamic buttons rendering. Moves evaluateCondition into methods and uses it when compiling row data so buttons gain a computed `show` flag; TableauRow now consumes compiled imgKey and btKey fields and no longer evaluates conditions inline. Change v-memo to memoize the whole row, add optional storeEdition/storeReady props.
Read a preset query parameter in various view components and apply it to their corresponding store edition objects to pre-fill form fields. after loading edition data in fetchAllData, parses preset as key:value pairs separated by ';' to set matching edition properties. Invalid pairs are ignored. This enables pre-populating edition forms via URLs (e.g. ?preset=field1:val1;field2:val2).
Replace the string idPage prop with a boolean permission prop on CollapsibleSection.
Implements a checkbox template in Filter.vue and updates FilterContainer.vue to handle checkbox presets/values. Removes showExpired/showRevoked params from users.store.getTokenByInterval and updates UserView to use a FilterContainer-based checkbox filter (filterSession) instead of a manual checkbox, and adds a route.meta-driven overflow-y-auto class in App.vue.
@vampi62 vampi62 merged commit d823362 into main Mar 5, 2026
@vampi62 vampi62 deleted the filtre-tableau-rework branch March 5, 2026 17:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant