* Loki: Use TemplateSrv from grafana/runtime
* Loki: Fix import for intervalToMs
* Revert "Loki: Use TemplateSrv from grafana/runtime"
This reverts commit d573925e37.
* fix some types
* more type updates
* some more fixes
* more changes
* string instead of unknown
* more like original logic
* remove outdated comment
* update betterer
* LogRow: detect text selection
* LogRow: refactor menu as component
* LogRow: add actions to menu
* LogRow: hack menu position
* Remove unsused imports
* LogRowMessage: remove popover code
* PopoverMenu: refactor
* LogRows: implement PopoverMenu at log rows level
* PopoverMenu: implement copy
* PopoverMenu: receive row model
* PopoverMenu: fix onClick capture issue
* Explore: add new filter methods and props for line filters
* PopoverMenu: use new filter props
* Explore: separate toggleable and non toggleable filters
* PopoverMenu: improve copy
* ModifyQuery: extend line filter with value argument
* PopoverMenu: close with escape
* Remove unused import
* Prettier
* PopoverMenu: remove label filter options
* LogRow: rename text selection handling prop
* Update test
* Remove unused import
* Popover menu: add unit test
* LogRows: update unit test
* Log row: hide the log row menu if the user is selecting text
* Log row: dont hide row menu if popover is not in scope
* Log rows: rename state variable
* Popover menu: allow menu to scroll
* Log rows: fix classname prop
* Log rows: close popover if mouse event comes from outside the log rows
* Declare new class using object style
* Fix style declaration
* Logs Popover Menu: add string filtering functions (#76757)
* Loki modifyQuery: add line does not contain query modification
* Elastic modifyQuery: implement line filters
* Modify query: change action name to not be loki specific
* Prettier
* Prettier
* Elastic: escape filter values
* Popover menu: create feature flag
* Log Rows: integrate logsRowsPopoverMenu flag
* Rename feature flag
* Popover menu: track interactions
* Prettier
* logRowsPopoverMenu: update stage
* Popover menu: add ds type to tracking data
* Log rows: move feature flag check
* Improve handle deselection
* InfluxDB: Add new truthiness operators (`Is` and `Is Not`) to InfluxQL Editor for use with boolean fields
* InfluxDB: Make the front-end aware of the new operators so that translation between raw and builder works
* Chore: Add tests
* feat: identify type of field value to allow other types to work with Is/Is Not
Tags: always quote
Integer: Don't quote
Float: Don't quote
Boolean: Don't quote
String: Quote
* Chore: Add test-cases for type inference
* Update front-end to infer type for operators Is and Is Not
* chore: Add front-end tests
* chore: add additional front-end tests
* chore: fix failing lint test
* chore: fix tests (run prettier)
* MenuItem: Allow react node as label
* LinkButton: Expose ButtonLinkProps
* Typecheck fix
* DashboardLinks: Refactor and use LinkButton and menu
* DashbaordLinks scene object
* Use flex layout for dashboard controls
* Update public/app/features/dashboard/components/SubMenu/DashboardLinksDashboard.tsx
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* fix keepTime and includeVars
* Add ellipsis to menu item label and description
* Use DashboardLink type from grafana/schema
* Update dashboard scene controls layout
* Fix e2e
* Test fix
* Bring back keyboard navigation
* Remove unused code
* One more fix
---------
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Allow to clear datasource selection
Also improve texts for linked alerts switch
* Remove onClear prop as it does not work
* Change text on datasource selection filter
* Change datasource filter description
* InfluxDB: Add support for `>=` and `<=` comparison operators to InfluxQL Query Builder
* Add front-end support for the new operators
This ensures that the query translates correctly between raw and builder mode
* Chore: add test for new operators
* chore: add front-end tests
* fix: don't skip quoting on `<>`
This preserves the pre-existing behaviour, fixing a failing test
* chore: fix tests
* Transformations: Fix Timeseries to table transformation trend reduction when result is 0
When reduceField function returns 0, the reduced value is set to null. I
think we can remove this "|| null" statement, as:
- There is a check a few lines above to make sure the field type is a number. This might be a reasonable guarantee that the calculation we are doing will make sense and there will be no need to set to null.
- Sparkline cell type already has an option to hide value if we believe the calculation
does not make sense.
Fixes#78025
* make sure we check for undefined
---------
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
* Add `isManaged` property to frontend model
* Remove enabled and token buttons for managed SA
* Replace trash icon for lock icon for managed SA
* Block the role picker for managed SA
* Filter SA list usiong the managed filter
* Rename external for managed
* Add only managed filter
* Toggle the enable buttons for managed sa
* Disable add token and delete token buttons
* Remove the edit name button
* Disable the Role picker for managed sa
* Hide the permissions section
* Add managed by row
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Plugin: Deriving fields by name from parsed logs
Loki only derives fields by a regex matcher, this limits its usage when functions such as `line_formatter` is used on
top of the logs.
Some users already have logs parsed in json or logfmt structure which are detected as fields in loki.
This pull request allows the mapping between detected fields values and derived values by matching the fields' names.
Currently the feature is behind `lokiEnableNameMatcherOption` feature toggle.
* improve settings page to have a `fieldType`
* improve derived fields getter to use `matcherRegex`
* fix failing test
* rename feature toggle to `lokiDerivedFieldsFromLabels`
* added suggestions from review
* add empty config object
* remove feature flag
* fix width of select
* default to `regex` derived field
* fix failing test
---------
Co-authored-by: Sven Grossmann <svennergr@gmail.com>
* Add AlertStates data topic
* DashboardScene: Alert states data layer
* TMP package json
* Remove duplicated function
* Use latest scenes canry
* Use latest scenes and add transformation test
* feat: share the plugin context with app plugins
* feat: share the plugin context ui-extension modals
* feat: pre-fetch the app plugin settings
* feat: expose more utility hooks for plugins
* fix: use `location.pathname` directly
Previously it was referenced by `pluginRoot.props.path`, which stops
working in case the `pluginRoot` element is wrapped with anything.