grafana/public/app/features/logs
Matias Chomicki aa670280fc
Logs: add infinite scrolling to Explore (#76348)
* Explore: propose action, thunk, and decorators for load more

* LogsContainer: add loadMore method

* Query: remove unused var

* Loading more: use navigation to simulate scrolling

* Explore: figure out data combination

* Fix imports

* Explore: deduplicate results when using query splitting

* LogsNavigation: add scroll behavior

* Remove old code

* Scroll: adjust delta value

* Load more: remove refIds from signature

We can resolve them inside Explore state

* Load more: rename to loadMoreLogs

* Infinite scrolling: use scrollElement to listen to scrolling events

* Explore logs: add fixed height to scrollable logs container

* Logs: make logs container the scrolling element

* Logs: remove dynamic logs container size

It works very well with 1 query, but breaks with more than 1 query or when Logs is not the last rendered panel

* Logs navigation: revert changes

* Infinite scroll: create component

* Infinite scroll: refactor and clean up effect

* Infinite scroll: support oldest first scrolling direction

* Infinite scroll: support loading oldest logs in ascending and descending order

* Infinite scroll: use scroll to top from logs navigation

* Logs: make logs container smaller

* Logs: make container smaller

* State: integrate explore's loading states

* Infinite scroll: add loading to effect dependency array

* Infinite scroll: display message when scroll limit is reached

* Infinite scroll: add support to scroll in both directions

* Infinite scroll: capture wheel events for top scroll

* scrollableLogsContainer: deprecate in favor of logsInfiniteScrolling

* Infinite scroll: implement timerange limits

* Infinite scroll: pass timezone

* Fix unused variables and imports

* Infinite scroll: implement timerange limits for absolute time

* Infinite scroll: fix timerange limits for absolute and relative times

* Infinite scroll: reset out-of-bounds message

* Logs: make container taller

* Line limit: use "displayed" instead of "returned" for infinite scrolling

* Infinite scrolling: disable behavior when there is no scroll

* Remove console log

* Infinite scroll: hide limit reached message when using relative time

* Logs: migrate styles to object notation

* Prettier formatting

* LogsModel: fix import order

* Update betterer.results

* Logs: remove exploreScrollableLogsContainer test

* Infinite scroll: display loader

* Infinite scroll: improve wheel handling

* Explore: unify correlations code

* Explore: move new function to helpers

* Remove comment

* Fix imports

* Formatting

* Query: add missing awaits in unit test

* Logs model: add unit test

* Combine frames: move code to feature/logs

* Explore: move getCorrelations call back to query

It was causing a weird test failure

* Fix imports

* Infinite scroll: parametrize scrolling threshold

* Logs: fix overflow css

* Infinite scroll: add basic unit test

* Infinite scroll: add unit test for absolute time ranges

* Formatting

* Explore query: add custom interaction for scrolling

* Query: move correlations before update time

* Fix import in test

* Update comment

* Remove comment

* Remove comment

* Infinite scroll: report interactions from component

* Fix import order

* Rename action

* Infinite scroll: update limit reached message

* Explore logs: remove type assertion

* Update betterer
2024-01-12 13:22:03 +02:00
..
components Logs: add infinite scrolling to Explore (#76348) 2024-01-12 13:22:03 +02:00
legacyLogsFrame.ts Logs Panel: Table UI - Pull logs table into dashboard panel (#77757) 2023-11-29 10:01:28 -06:00
logsFrame.test.ts Logs: Use "labels" data frame field if type "other" in log details (#77806) 2023-11-10 12:54:59 +01:00
logsFrame.ts Logs Panel: Table UI - Pull logs table into dashboard panel (#77757) 2023-11-29 10:01:28 -06:00
logsModel_parse.test.ts Logs: Use "labels" data frame field if type "other" in log details (#77806) 2023-11-10 12:54:59 +01:00
logsModel.test.ts Logs: add infinite scrolling to Explore (#76348) 2024-01-12 13:22:03 +02:00
logsModel.ts Logs: add infinite scrolling to Explore (#76348) 2024-01-12 13:22:03 +02:00
response.test.ts Logs: add infinite scrolling to Explore (#76348) 2024-01-12 13:22:03 +02:00
response.ts Logs: add infinite scrolling to Explore (#76348) 2024-01-12 13:22:03 +02:00
UniqueKeyMaker.test.ts logs: make sure log-row-react-keys are always unique (#71279) 2023-07-13 08:01:55 +02:00
UniqueKeyMaker.ts logs: make sure log-row-react-keys are always unique (#71279) 2023-07-13 08:01:55 +02:00
utils.test.ts Log Row: memoize row processing (#77716) 2023-11-06 16:59:48 +02:00
utils.ts Log Rows: Added popover menu with filter options when a log line is selected (#75306) 2023-11-16 11:48:10 +02:00