Fields Selector: Add component and integrate with Logs and Logs table visualization (#112534)

* Copy base components

* Refactor FieldSelector and add LogList wrapper

* Get field names from data frame

* FieldSelector: get labels and fields from dataframes

* Show active fields

* Show all fields

* Fix field list height

* Toggle fields

* Reorder fields

* Hide active fields if there are no fields

* Show suggested fields

* Sort available fields

* Hide drag icon if not draggable

* Filter fields

* Add collapse control

* Table: use FieldSelector component

* Remove deprecated components

* Improve Logs Table sidebar

* Store table sidebar resizes

* Lint issues

* Minor refactor to columns getters

* Fix column sorting

* Translations

* Fix columns reset

* Prettier

* Add showFieldSelector option

* Implement suggested fields

* Remove margin from button

* Update stored width on expand/collapse

* Update test

* Add unit test

* Prettier

* Translations

* Add integration test

* Return null

* Update comment

* More integration tests

* Use forEach

* Make dataFrame possibly undefined

* Move components

* Memoize callback

* Prettier

* Table: improve resize behavior

* Update public/app/features/logs/components/fieldSelector/FieldSelector.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Prettier

* Analytics: report sidebar state

* Analytics: add interactions

* Search: add clear button

* Translations

* LogLineContext: pass missing storage key prop

953¿

* Field: report toggling

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Matias Chomicki
2025-10-22 13:45:58 +00:00
committed by GitHub
co-authored by Copilot
parent be1b18a3d6
commit 9e0fe94e8d
26 changed files with 1421 additions and 481 deletions
@@ -40,6 +40,7 @@ export interface Options {
setDisplayedFields?: unknown;
showCommonLabels: boolean;
showControls?: boolean;
showFieldSelector?: boolean;
showLabels: boolean;
showLogAttributes?: boolean;
showLogContextToggle: boolean;