Commit Graph

28 Commits

Author SHA1 Message Date
Matias Chomicki b8fbeb084a
Logs: Display log row menu cell on displayed fields (#71300)
* LogRowMenuCell: create component

* LogRowMessage: use new LogRowMenuCell component

* LogRowMessage: turn into functional component

* LogRowMenuCell: memoize component

* LogRowMessage: remove cx

* LogMessage: create component from function

* LogRowMessageDisplayedFields: turn into component

* LogRowMessageDisplayedFields: add LogRowMenuCell

* LogRowMessageDisplayedFields: rename prop and pass missing context prop

* LogRowMessageDisplayedFields: add unit test
2023-07-11 14:50:53 +02:00
Ashley Harrison 7a2a5dde8b
Chore: Enable remaining jsx-a11y rules (#70990)
enabling remaining a11y rules + ignore existing violations
2023-06-30 16:58:16 +01:00
Sven Grossmann 6393ef9385
Logs: Add pinning icon in log context (#70945)
add pinning icon
2023-06-30 15:33:40 +02:00
Sven Grossmann 1206cf3dfa
LogContext: Make centered row unsticky on click (#70832)
* add pinning in log context

* add tests

* move icon names

* fix type of `pinned`
2023-06-28 15:22:54 +02:00
Sven Grossmann 4c28b01975
Revert "Logs: Change permalink icon back to `link`" (#70570)
Revert "Logs: Change permalink icon back to `link` (#70362)"

This reverts commit fc39dadf62.
2023-06-23 10:58:07 +02:00
Sven Grossmann fc39dadf62
Logs: Change permalink icon back to `link` (#70362)
change icon to link-icon
2023-06-20 11:50:43 +03:00
Sven Grossmann 68637059c4
Logs: Add permalink to log lines (#69464)
* create explore panel state for logs

* add props to LogRows and unify

* pass properties from explore to logs

* add css

* implement button and scrolling

* export and use `getUrlStateFromPaneState`

* make `scrollIntoView` optional

* change state handling for permalinks

* change link icon

* removed unused state

* add tests for `LogRowMessage`

* remove unused prop

* fix name

* reorg component

* add `LogRow` tests

* add test for `Logs`

* Update public/app/features/logs/components/LogRow.test.tsx

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* Update public/app/features/explore/Logs/Logs.test.tsx

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* improve types in test

* fix props export in Logs.tsx

* fix props export in LogRowMessage.tsx

* fix props export in LogRow.tsx

* fixed import

* fix theme import

* remove hidden style

* add better test names

* change to `log line` rather logline

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* fix tooltips

* remove unused css

---------

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2023-06-16 14:07:51 +02:00
Laura Benz 24502c4c4a
Add tooltip to instances of IconButton (#68880)
* refactor: tooltip is required

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: adjust tests

* refactor: apply changes from code review

* refactor: adjust component for e2e test

* refactor: adjust fallback

* refactor: apply changes from code review

* refactor: apply changes from code review

* refactor: set IconButton default as type=button and remove from use cases

* refactor:  remove aria-labels when duplicated and type=button from use cases

* refactor: clean up

* refactor: fix tests

* refactor: fix type errors

* refactor: remove changes in order in order to add them to a separate PR

* refactor: set IconButton default as type=button

* refactor: remove tooltip

* refactor: apply changes requested in review
2023-06-08 10:23:28 +02:00
Sven Grossmann 9d2f4786c7
Log Row: Fix menu styling and dimensions (#69569)
* fix wrong logrowmenu styling

* fix imports
2023-06-05 20:24:41 +02:00
Matias Chomicki 7f61cb92bc
Logs: Added copy-to-clipboard fallback support and visual feedback after copying (#68874)
* Log row: use clipboard button component for copy log button

* Copy log: adjust button styles to match

* Define line height

* Slightly improve line height
2023-05-23 14:36:05 +02:00
Sven Grossmann a6a7cebbe5
Logs: Redesign and improve LogContext (#65939)
* Logs: Add new LogRowContext types to grafana/data

* use right type for `RowContextOptions`

* add missing renames

* add show context modal

* no need to call

* removed unused css

* sort properties

* rename

* use correct

* use

* add tests for

* wip

* remove add/minus buttons

* add tests

* disable processing of context results in Loki

* moved into table to align properly

* remove imports

* add highlighting of opened logline

* improve scrolling behavior

* correct style for the table

* use correct query direction

* fix text

* use LoadingBar

* use overflow auto

* rename `onToggleContext` to `onOpenContext`

* add missing import

* mock scrollIntoView

* update unused props

* remove unused import

* no need to process context dataframes

* only show `LogRowContextModal` if `getRowContext` is defined

* remove unused param

* use `userEvent` rather `fireEvent`

* change to `TimeZone`

* directly use style classes

* revert change to public_dashboard_service_mock.go

* improved styling

* add missing await in test

* fix lint

* fix lint

* remove LogRow scrolling when context is opened

* remove references to `scrollElement`

* Update public/app/features/logs/components/log-context/LogRowContextModal.tsx

Co-authored-by: Matias Chomicki <matyax@gmail.com>

* fix lint

* add comment explaining `onCloseContext`

* add comment about debounced onClose

* add comments and remove `showRowMenu`

* scroll twice to correctly center the element

* revert double scrolling

* remove unnecessary `processDataFrame`

* trigger drone

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2023-04-14 17:05:43 +02:00
Sven Grossmann e9b15eff72
Logs: Move components to dedicated directory (#65936)
* move log-context components to dedicated directory

* fix any

* add right format of lerna.json
2023-04-11 12:19:28 +02:00
Sven Grossmann 07d960ac26
Logs: Position LogRowMenu sticky to be able to use it in scrollable containers (#65502)
* fix logrowmenu

* remove comment

* add comment

* get rid of absolute positions

* remove `inExplore` check
2023-03-29 15:55:28 +02:00
Matias Chomicki c139768e3b
Logs Panel: Refactor style generation to improve rendering performance (#62599)
* Log row: move level styles to its own provider

* Log row message: remove unnecessary extra param from styles

* Log rows: parse and pass styles to children

* Log row: receive parsed styles props from parent

* Log details: receive styles from parent

* Revert "Log details: receive styles from parent"

This reverts commit 8487482a6f4fdcf5e26896182c5ad3982774eea2.

* Log row message: receive styles from parent

* Chore: remove unnecessary comment

* Log level styles: move common styles out of getLogLevelStyles

* Chore: fix TimeZone deprecated import

* Log Details: inverse ternary operator for readability

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* Log Details: inverse ternary operator for readability

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* Chore: apply prettier formatting

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-02-01 14:28:10 +00:00
Sven Grossmann 7c02d9bb8a
Logs: Add experimental support to display a datasource custom UI in LogContext (#62189)
* add loki contextfilter component

* add `getLogRowContextUi` support to DataSourceAPI

* add `runContextQuery` to LogRowContextProvider

* pass `getRowContextUi` to `LogRowContext`

* adapt LogRowContext to show datasource ui

* implement LogRowContextUi in Loki

* add `logsContextDatasourceUi` feature flag

* change state to `Alpha`

* disable the feature if `logsContextDatasourceUi` is not set

* don't fetch labels in the constructor

* adjust to right height

* remove unnecessary eslint disable

* add test for LokiContextUi

* move code down in datasource.ts

* rename `refresh` to `runContextQuery`

* update datasource tests

* don't update if `updateFilter` fn changes

* organized imports in datasource.test.ts

* don't trigger on intialization changes

* change tag to `experimental`

* move `getLogRowContextUi` to props
2023-01-27 15:12:01 +01:00
Ivana Huckova a0921f2e88
Explore: Implement logs sample in Explore (#61864)
* Implement log samples

* Explore: Implement logs sample panel

* Log samples: Add documentation

* Update docs

* Add info for log sample

* Fix label

* Update

* Default to true

* Fix copy in test

* Update public/app/features/explore/LogsSamplePanel.tsx

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* Use timeZone from grafana/schema

* Rename data props to queryResponse

* Unify name to logs sample

* Remove redundant optional parameters in LogsSamplePanel

* Make intervalMs parameter optional in dataFrameToLogsModel and remove undefined argument when not needed

* Fix incorrect position of copy log line button

* Update public/app/core/logsModel.ts

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-01-24 19:10:27 +01:00
Sven Grossmann ece0c121a5
Logs: Fix line not being selectable in Firefox (#61081)
fix log line not being selectable
2023-01-06 11:15:12 +01:00
Matias Chomicki c537d3699c
Logs A11y: Support keyboard interactions with log lines (#60561)
* Logs A11y: Support keyboard interactions with log lines

* LogRowMessage: specify text align

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2022-12-21 13:45:47 +00:00
Sven Grossmann 400ada1ad0
Logs: Fix misalignment of LogRows (#59279)
* add default display flex

* changed to `text-align: left`
2022-11-24 13:21:55 +01:00
Gareth Dawson 4749f45fe8
Loki: Replace hardcoded css values (#57770)
* replace hardcoded margin/padding in getLogRowStyles.ts

* replace hardcoded margin/padding in LogDetails.tsx

* replace hardcoded values in LogDetailsRow.tsx

* replace hardcoded values in LogLabels.tsx

* replace hardcoded values in LogLabelStats.tsx

* replace hardcoded values in LogLabelStatsRow.tsx

* replace hardcoded values in LogRowContext.tsx

* replace hardcoded values in LogRowMessage.tsx

* replace hardcoded values

* remove forced theme spacing values
2022-11-04 15:18:55 +00:00
Sven Grossmann 598da14d88
disable double stringify (#57243) 2022-10-19 11:58:16 +02:00
Gareth Dawson 20616eef8c
Logs: Add feature to tracking show context button click (#57074)
* report interaction on context open

* report interaction on context close_esc

* replace deprecated feature (KeyboardEvent.keyCode)

* update to report interaction on toggle context

* remove redundant if statement
2022-10-19 10:01:45 +01:00
Sven Grossmann efe214a293
LogContext: Change line highlighting to match the hover state (#56811)
* add hover background also to logs with context

* add inherit display
2022-10-13 11:42:40 +02:00
Sven Grossmann 2410b88ad1
Logs: Show LogRowMenu also for long logs and wrap-lines turned off (#56030)
* show logrowmenu as new table-cell

* fix dashboard position

* added reasonable position

* fix log row message not beeing 100%
2022-10-05 16:11:08 +02:00
Sven Grossmann c9e957a44e
Logs: Center `show context` modal on click (#55989)
* added center implementation

* fixed passing `scrollElement` to wrong component

* rather destructure than direct ref

* removed unnecessary `undefined`
2022-09-29 14:51:20 +02:00
Sven Grossmann 998a368c69
Logs: Show copy button independently from context (#55934) 2022-09-29 10:00:01 +02:00
Sven Grossmann 7e8738e01e
LogContext: Improve text describing the loglines (#55475)
* changed messages before and after LogContext

* add comment explaining the if

* add tests

* removed unused divs

* improved if statements
2022-09-28 13:37:49 +02:00
Gábor Farkas 1ee6a1f7c2
Logs: move logs-components from grafana-ui to grafana-main (#55041)
* logs: added a copy of the grafana-ui logs-files

* fix: added the ansicolor package to the main grafana package

* logs-components: import things from grafana-ui

* import from local files

* logs-components: other fixes

* add betterer-exceptions

* apply updates from grafana-ui package
2022-09-19 10:51:46 +02:00