-
[OPIK-3124] [FE] Persist user datepicker selection in local storage (#4130)
发布于
2025-11-20 14:14:41 +00:00 - [OPIK-3124] [FE] Persist datepicker selection in URL and local storage
- Created useMetricDateRangeWithQueryAndStorage hook combining URL + localStorage
- URL has priority over localStorage for shareable links
- Traces and Threads tabs share date range state (same keys)
- Metrics tab remains separate with localStorage only (performance limitation)
- Uses existing useQueryParamAndLocalStorageState pattern
- Revision 2: Apply useMetricDateRangeWithQueryAndStorage to all tabs with auto-generated localStorage keys
- Auto-generate localStorage keys as 'local-{queryKey}' pattern
- Remove localStorageKey parameter from hook
- Update MetricsTab to use useMetricDateRangeWithQueryAndStorage
- All tabs now support URL + localStorage persistence
- Query keys: 'time_range' (Traces/Threads), 'metrics_time_range' (Metrics)
- localStorage keys: 'local-time_range', 'local-metrics_time_range'
- Revision 3: Add default queryKey value and simplify Traces/Threads usage
- queryKey now defaults to DEFAULT_DATE_URL_KEY ('time_range')
- Removed DATE_RANGE_QUERY_KEY constants from TracesSpansTab and ThreadsTab
- Hook calls simplified - no params needed for default behavior
- MetricsTab still explicitly passes 'metrics_time_range'
- Revision 4: Rename queryKey parameter to key for cleaner API
- Renamed 'queryKey' to 'key' in useMetricDateRangeWithQueryAndStorage
- Updated MetricsTab to use 'key' parameter
- Cleaner, more concise API that matches naming conventions
下载附件