Commit Graph

15723 Commits

Author SHA1 Message Date
Stephanie Hingtgen a262da532e Navtree: Switch to search (#103016) 2025-03-27 13:36:56 -05:00
Stephanie Hingtgen da2743dbef Dashboards: Optimize get shared with me (#103013) 2025-03-27 19:52:31 +02:00
Mustafa Sencer Özcan fe1a72e41b fix(unified-storage): unlist the deleted resource's versions (#102588) 2025-03-27 18:34:37 +01:00
Yuri Tseretyan d10fdc0f02 Alerting: ListDeletedRules to return rules sorted by date (#102945)
---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-03-27 19:31:08 +02:00
Syerikjan Kh 15e7c3c439 Fix: Change secure_json_data column data type to medium text only MYSQL (#102557)
fix: change secure_json_data type to medium text only MYSQL
2025-03-27 12:59:07 -04:00
Emre Yazıcı 7aa71aa734 Tracing: chore make insecure option configurable (#99236)
* Tracing: chore: make insecure option configurable

In case of insecure set to false, default system cert pool will be used to create otlpgrpc client.

* test: add tracing/insecure config checks

This is to verify whether insecure configuration is properly parsed.

* chore: update configura Grafana docs with new setting

* chore: also update comment in the ini files

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-03-27 12:37:23 -04:00
Mariell Hoversholm 69803300f1 Provisioning: Complete rename of jobs (#102979)
Fixes: https://github.com/grafana/git-ui-sync-project/issues/164
2025-03-27 17:06:44 +01:00
Peter Štibraný 57cc4f101d spanner: Fix insert or update in anon_device when running on Spanner. (#102991)
Fix insert or update in anon_device when running on Spanner.
2025-03-27 16:58:27 +01:00
Andreas Christou 157edf92a0 Azure: Mark Azure Prometheus exemplars as GA and enable by default (#100595)
* Mark Azure Prom exemplars as GA and enable by default

* make gen-feature-toggles
2025-03-27 10:54:39 -05:00
Fayzal Ghantiwala 68d8810ecb Alerting: API to convert submitted Prometheus rules to GMA (#102231)
* placeholder commit

* Complete function in api_convert_prometheus.go

* MVP before extensive testing

* Cleanup

* Updated tests

* cleanup

* Fix random logs and lint

* Remove comment

* Fix errors after rebase

* Update test

* Update swagger

* swagger

* Refactor to accept groups in body

* Fix auth tests and some cleanup

* Some cleanup before refactoring

* Remove unnecessary fields

* Also refactor RouteConvertPrometheusPostRuleGroup

* Remove unused code

* Rebase + cleanup

* Update authorization_test

* address comments

* Regen swagger files

* Remove namespace and group filters

* Final comments
2025-03-27 15:30:11 +00:00
Mariell Hoversholm d0d7078953 App Platform: Remove mutable globals (#102962)
* App Platform: Remove mutable globals

* chore: clarify why this exists

* fix: support multi-tenant mode

* refactor: call builder providers directly

* CI: Force re-build
2025-03-27 15:46:09 +01:00
Sonia Aguilar f9471ac10b Alerting: Recover deleted alert rules (#101869)
* add column guid to alert rule table and rule_guid to rule version table

+ populate the new field with UUID

* update storage and domain models

* patch GUID

* ignore GUID in fingerprint tests

* get alert rule versions by GUID

* update rule delete to reset uid in history instead of deleting rows

* add test

* Update delete rule to require UserUID, remove all versions and create "delete" version

that holds information about who and when deleted the rule

* update usages of the delete method

* add list deleted rules to store

* list api to support deleted query parameter

* add list deleted rules to store

^ Conflicts:
^	pkg/services/ngalert/store/alert_rule_test.go

* list api to support deleted query parameter

* Restore deleted rules

* fix recovering manually recording rules

* update role control for the trash route

* add alertingRuleRecoverDeleted feature toggle enabled by default

* fix access control for trash menu item in the navtree

* Add alertingRuleRecoverDeleted feature toggle,
add Delete permanently alert rule menu option

* hide remove permanently functionality in the UI until we have the api available for it

* discard wrong changes after merging

* Reverted changes in pkg/apis/dashboard_manifest.go after fixing conflicts

* Reverted changes in go.work.sum after fixing conflicts

* Reverted changes in pkg/apis/dashboard_manifest.go after fixing conflicts

* Reverted changes in pkg/services/ngalert/models/alert_rule.go after fixing conflicts

* Reverted changes in pkg/apis/dashboard_manifest.go after fixing conflicts

* restore delete permanently and add the queryparam for it

* update snapshots

* fix translations

* protect trash route by the feature toggles

* use the new rulerRuleType for checks

* revert ability to delete permanently and alert rule from the ui

* remove unnecessary update after reverting

* fix ff

* add tracking

* use recently deleted instead of trash

* create isRecoverDeletedRulesEnabled for checking ffs

* address pr feedback 1

* include alert rule uid in getRowId

* use RulerGrafanaRulesConfigDTO for deleted rules response

* use isLoading in the AlertingPageWrapper

* fix wrong check for recording rules type

* add test for restoring manually through the alert rule form

* add test for restoring deleted rule

* use importAlertingComponent

* udpate mock

* address pr feedback

* update translations

* address feedback

* address feedback 2

* address feedback 3

* address feedback 4

* move transformation of the response to the endpoint

* fix typo

* refactor grafanaRuleDtoToFormValues

* update translations

* use guid for identifying rows

* prettier

* use ONLY the guid for identifying rows

* Add provides/invalidates tags for deleted rules

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-03-27 16:39:26 +02:00
Mariell Hoversholm 4cd1315700 App Platform(Provisioning): Listen to context cancel ASAP (#102957)
We should not write after the context is cancelled. This causes tests to fail as they are trying to clean up. To try to
accommodate this, we'll need to listen to the context in any loop where we don't immediately get other instructions from
e.g. trying to do an HTTP request.
2025-03-27 15:11:07 +01:00
Eric Leijonmarck dce180acf3 LBAC for data sources: PublicPreview and self serve enablement (#102276)
* Publicpreview and self serve of lbac for mimir

* update from review
2025-03-27 15:44:29 +02:00
Josh Hunt 3a9370083f I18n: Add 13 new languages for translations (#102971)
I18n: Remove extraLanguages toggle
2025-03-27 12:58:52 +00:00
Hugo Kiyodi Oshiro 69d8419109 Plugins: Remove userStorageAPI feature toggle (#102915) 2025-03-27 13:40:00 +01:00
Sam Jewell c9e929e2e6 SQL Expressions: Allow more MySQL AST node-types (#102973)
* SQL Expressions: Add Null-literal node

* Retain some order in the code - put NullVal with BoolVal

* Add support for `IN` keyword

* Add GROUP_CONCAT keyword

* Add COLLATE keyword

From Claude:

The test case demonstrates a simple use of COLLATE with a string
literal, but in real MySQL queries, COLLATE is often used in more
complex scenarios like:

1. String comparisons:
   `SELECT * FROM table WHERE name COLLATE utf8mb4_bin = 'John'`
2. Sorting:
   `SELECT * FROM table ORDER BY name COLLATE utf8mb4_unicode_ci`
3. JOINs:
   `SELECT * FROM table1 JOIN table2 ON table1.name COLLATE utf8mb4_bin = table2.name`

The COLLATE clause is particularly useful when you need case-sensitive
comparisons (utf8mb4_bin) or specific language-aware sorting rules.
2025-03-27 11:32:48 +00:00
Mariell Hoversholm e1e1d3fd9f Fix: Prints should always include new lines (#102795)
* CI: Allow Bench conversion to fail

We shouldn't mark PRs and commits as X if they fail to convert logs with Bench.

* Fix: Prints should always include new lines

* fix: remove unused import
2025-03-27 12:27:53 +01:00
Roberto Jiménez Sánchez b2d9b3abe6 Remote provisioning: use client discovery for sync job (#102885)
* Use client discovery for folders and dashboards synchronization

* Remove unused dashboards client

* Add folders import again
2025-03-27 11:07:06 +01:00
Eric Leijonmarck e216c2f29d Anonymous: Enforce org role Viewer setting (#102070)
* Anon: Remove org role setting

* remove from ini

* remove setting from documentation
2025-03-27 09:10:30 +00:00
colin-stuart 9ca1d8bca7 Tests: Add delete user mock field to fake auth info service (#102947) 2025-03-27 09:45:31 +01:00
Stephanie Hingtgen 0087d7bd58 Unistore: Skip label for getting full path (#102928) 2025-03-26 15:50:53 -05:00
alerting-team[bot] 6df99a6224 Alerting: Update alerting module to 58ba6c617ff05eb1d6f65c59d369a6a16923dff6 (#102812)
* remove feature flag alertingAlertmanagerExtraDedupStage
* use most recent version of fork of alertmanager

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-03-26 15:15:10 -04:00
William Wernert 88d23fe5be Alerting: Remove transitional notifications API endpoints (#102713)
* Remove transitional notifications API endpoints

* Fix openapi spec

* Fix path test

* Remove API tests related to removed endpoints
2025-03-26 12:26:50 -04:00
Alexander Zobnin 63a2ce7214 Zanzana: Support subresources for users and service accounts (#102874)
* Zanzana: Support subresources for users and service accounts

* rename relationsFolder

* fix linter error
2025-03-26 16:07:01 +01:00
Mustafa Sencer Özcan a4e8bd16de fix: add index for resource history get with trash on (#102894) 2025-03-26 15:52:13 +01:00
Leonor Oliveira 51bbfa2d08 [Search] Fix CodeQL warnings (#101364)
* Fix CodeQL warnings

* Also validate if path is a file above the safe dir

* Lint

* [REVIEW] reduce possibility of exploits

* Comment

* Remove test scenario
2025-03-26 15:38:58 +01:00
Mariell Hoversholm f7b9f1ce69 Unified Storage: Return an already exists error (#102857)
* Unified Storage: Return an already exists error

When inserting a resource that already exists (i.e. race condition), we can safely catch UNIQUE constraint violations
and transform them into a `k8s.io/apimachinery/pkg/api/errors` error that stands the test of `errors.IsAlreadyExists`.

* feat: clarify existing conflict error

* chore: make update-workspace

* feat: make new package for backend error

* fix: assign dependency owner

* feat: use dialect for checking error type

* chore: go generate

* revert: to 5af369166d
2025-03-26 14:44:44 +01:00
Karl Persson c236a22284 Authz: Include context in logs when using cache (#102810)
Include context in logs when using cache
2025-03-26 13:55:24 +01:00
Sam Jewell 08bc37cfa2 SQL Expressions: Bump go-mysql-server version (#102866)
To receive this bug-fix:

- https://github.com/dolthub/go-mysql-server/pull/2853

Which merged to main on Feb 17th 2025

I picked a commit on `main` from March 19th 2025:

```console
go get github.com/dolthub/go-mysql-server@8c915e51131f1e867ad873f8e827abf858d65dce/testdata
```

Then
```
make run
```
2025-03-26 12:50:20 +00:00
Roberto Jiménez Sánchez eff2da96d0 Remote Provisioning: Fix empty folder synchronization (#102789)
* Add behavior for hidden

* Rename to IsFilePathSupported

* Modify sync

* Revert renaming

* Fix the tests

* Add more tests

* Maintain empty folders until next full pulling

* Fix wording

* Consider the file as ignored

* Handle folder creation in sync

* Record folder creation / update

* Fix in manual test

* Ensure / slash for folders

* Refactor the tests

* Keep safe path

* Fix some cases

* Remove log lines
2025-03-26 13:39:22 +01:00
Alexander Akhmetov f49a88ab72 Alerting: Add MissingSeriesEvalsToResolve to the APIs (#102150)
What is this feature?

A follow-up for #101184, adds AlertRule.MissingSeriesEvalsToResolve to the APIs.

missing_series_evals_to_resolve must be specified too and it must be > 0.

POST /api/ruler/grafana/api/v1/rules/{folderUID} works in the following way:

    If missing_series_evals_to_resolve is not sent or null, the rule keeps its existing value
    If missing_series_evals_to_resolve > 0: updates to that value
    If missing_series_evals_to_resolve = 0: resets to default (nil).
    AlertRule.MissingSeriesEvalsToResolve can't be 0, so I used it to reset

In the Provisioning API, the value is just set if present and > 0. Otherwise it's reset:

PUT to /api/v1/provisioning/alert-rules/{UID}:

    If missing_series_evals_to_resolve is nil, it's reset to the default value
    If missing_series_evals_to_resolve > 0, it's updated
2025-03-26 13:34:53 +01:00
Ieva ff6039567b RBAC: Return 404 instead of 403 if a dashboard cannot be found (#102815)
return 404 instead of 403 if a dashboard cannot be found
2025-03-26 12:26:14 +00:00
Peter Štibraný fe1f5bc72b ssosettings: Don't update primary key in sso_setting table. (#102878)
Don't update primary key in sso_setting table.
2025-03-26 13:06:29 +01:00
beejeebus 709723927f Assign errorsource to InfluxDB Flux http errors (#102823)
InfluxDB Flux queries can return a http.Error type that we can use to
assign errorsource to.

This PR checks for that type of error, and uses our errorsource
machinery to assign an errorsource.

This is part of https://github.com/grafana/data-sources/issues/377
2025-03-26 08:00:06 -04:00
Jean-Philippe Quéméner cc8b40585b feat(unified-storage): add traces for all the backend sub-paths (#102876) 2025-03-26 12:50:29 +01:00
Alexander Akhmetov f7aa17f2e4 Alerting: Add default values to AlertRule.Data queries in Prometheus conversion (#102843)
What is this feature?

Prometheus conversion: ensures that AlertRule.Data queries always have default parameters set (intervalMs, maxDataPoints). Without this, updates of the same rule can cause version increments.

Why do we need this feature?

Currently, when converting Prometheus rules to Grafana alerts, some default parameters are not explicitly set in the query model. This creates a problem during rule updates:

When a user updates a rule that hasn't changed, we still detect differences in the AlertQuery.Model because the newly converted rules are missing the default fields, such as intervalMs and maxDataPoints. This causes unnecessary version increments of alert rules.
2025-03-26 11:46:49 +01:00
Peter Štibraný d0dbd1d156 spanner: Fix star migration that fills NULL dashboard_uid and org_id fields from dashboard table. (#102768) 2025-03-26 11:15:00 +01:00
Peter Štibraný 0226d710a1 spanner: Store JSONB into string column. (#102731) 2025-03-26 10:58:06 +01:00
Peter Štibraný 5b5f433a26 spanner: Disable running alerting integration tests when using spanner. (#102730)
* Disable running alerting integration tests when using spanner.

* Disable tests for templategroup.
2025-03-26 10:57:55 +01:00
Alexander Akhmetov c54da8f955 Alerting: Make $value return the query value in case when a single datasource is used (#102301)
What is this feature?

This PR changes the behavior of the $value and .Value variables in alerting templating to be more compatible with Prometheus templating. When a single datasource is used in the alerting rule, these variables will now return the numeric value from the query instead of the evaluation string.

Why do we need this feature?

It makes Grafana templating more compatible with Prometheus templates. In Prometheus, $value returns the numeric value of the query, but in Grafana it's the evaluation string: [ var='A' labels={instance=instance1} value=81.234 ]. This is because in Grafana multiple datasources can be used in the alert rule, and it's not always possible to get a single value.

This change makes Grafana's behavior consistent with Prometheus when a single datasource is used, and in case when multiple datasources are used in the query, it keeps the old behaviour.

Both $value and .Value are not recommended to use (documentation), and it's better to use .Values instead.
2025-03-26 10:31:38 +01:00
dependabot[bot] 2138706f7b Dependencies: Bump github.com/redis/go-redis/v9 from 9.7.0 to 9.7.3 (#102555)
* Bump github.com/redis/go-redis/v9 from 9.7.0 to 9.7.3

Bumps [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) from 9.7.0 to 9.7.3.
- [Release notes](https://github.com/redis/go-redis/releases)
- [Changelog](https://github.com/redis/go-redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/go-redis/compare/v9.7.0...v9.7.3)

---
updated-dependencies:
- dependency-name: github.com/redis/go-redis/v9
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Chore: Run make update-workspace

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-03-26 10:06:04 +01:00
Sam Jewell 6be7829acf SQL Expressions: Allow IS keyword (#102841) 2025-03-26 09:05:42 +00:00
Tom Ratcliffe 01c7283a88 Alerting: Check recording rules are enabled as well as feature toggle (#102633)
* Add `recordingRulesEnabled` to grafanaBootData

* Check for recording rules being enabled, as well as feature toggle

* Remove unnecessary config line

* Move recording rules check to featureToggles file

* Update NoRulesCTA.tsx
2025-03-26 08:59:45 +00:00
Igor Suleymanov c68234f7e7 Add Makefile targets for generating dashboard app code and update it to SDK v0.35.0 (#102796)
* Update dashboard app to use app SDK v0.35.0

What

This change updates dashboard app to use app SDK v0.35.0 and adds new
Makefile target for running codegen for all apps, in opt-in manner.
Currently only dashboards app is opted in.

Additionally, this changes dashboard app Makefile to properly install
and update app SDK versions when generating code, with app SDK version
pinned in the Makefile itself.

Why

The upgrade addresses issues with `DeepCopy` methods, while the Makefile
targets ensure that codegen is easy to run and uses reproducible
environments.

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Run make update-workspace

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Fix deepcopy methods

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Re-run CUE codegen to satisfy the CI

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Run make update-workspace

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Update to v0.35.1

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-03-26 10:49:52 +02:00
Drew Slobodnjak 03d6d8f854 Table: Move library to react-data-grid (#102482)
* Changes galore

* Freedom 🗽

* Add feature flag

* Latest changes

* Basic auto cell type

* Partially working bar-gauge

* Brokenish but whatevs

* Include the toggle doc

* TableNG: Context menu (#94094)

* feat(table-ng): context menu init commit

* betterer

* feat(table-ng): re-use contextmenu component

* fix(table-ng): close context menu issue

* TableNG: Sorting columns (#94200)

feat(table-ng): sorting column

* fix feature toggle conflict

* TableNG: Sorting with custom table header (#95351)

* TableNG: Header Toggle (#95310)

* TableNG: Multi-column sorting (#95395)

feat(table-ng): multi-sorting

* TableNG: Column width options (#95426)

* feat(table-ng): column width

* mouse handle drag event

* move resizing task

* TableNG: Fix icon sorting direction (#95653)

fix(table-ng): sorting icon direction

* TableNG: Show table footer (#95313)

* TableNG: Show table footer

* Revert betterer

* Update betterer

* Incorporate reducer calculations into footer

* Update imports in FooterRow

* Use getFooterValue for summary cell render

* TableNG: Min column width (#95657)

* feat(table-ng): min column width

* feat(table-ng): set a min width constant

* TableNG: Column alignment (#95679)

* feat(table-ng): column alignment

* cleaning

* feat(table-ng): header cell alignment

* optimizations

* feat(table-ng): footer cell alignment

* calc counter

* TableNG: use compiled fn for columns -> records conversion (#95914)

* use compiled fn for columns -> records conversion

* TableNG: Move key rev and fix width overrides (#95921)

* meh

* add index to records

---------

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>

* TableNG: Sparkline Cell Parity (#95690)

* sparkline value

* todo

* Remove unsued shallowField

* Pass justifyContent to sparkline

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: BarGauge cell updates (#95521)

* fix bargauge cell

* merge and fix props

* cleanup imports

* TableNG: Text wrapping (#96041)

* feat(table-ng): fix long text cell width

* feat(table-ng): fix long text cell width 2

* comment out column rowHeight

* fix long text column width

* fix types

* fix types

* naming

* Check current header cell ref is defined for key

* cleaning

* make table re-render when data changed

* eslint

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Text overflow (#96641)

* feat(table-ng): text overflow

* cleaning

* TableNG: Fix footer for count (#96802)

* TableNG: Table column filter (#96767)

* feat(table-ng): add filter form

---------

Co-authored-by: drew08t <drew08@gmail.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>

* TableNG: On column resize trigger (#97004)

chore(table-ng): trigger on resize on text wrap only

* TableNG: Improve sort performance (#97767)

* TableNG: Improve sort performance

* clean a bit

* a bit more

* Remove const that was breaking sort

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>

* TableNG: Fix sorting (#98141)

fix(table-ng): sorting

* TableNG: fix multi sorting (#98668)

fix(table-ng): multi sorting

* TableNG: Column re-size handler (#98901)

* feat(table-ng): column re-size handler

* TableNG: Fix footer calcs with no reducer (#99347)

* TableNG: Update renderHeaderCell with filter dep (#99483)

* TableNG: Updated styles for demo (#99530)

* style proposal: table ng

* chore: revert gauge cell custom stuff

* TableNG: Cross-filter (#99459)

* feat(table-ng): cross-filter

* fix filter update issue

* fix filter reset issue

* Fix spacebar for filter input

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Filter perfomance optimization (#99620)

fix(table-ng): filter performance optimization

* TableNG: Refine styling closer to original table (#99625)

* TableNG: Support groupToNestedTableTransform (#97134)

* TableNG: Support groupToNestedTableTransform

* Fix merge issues

* Force refresh for now

* Remove log

* Fix some conflicts

* Fix more conflicts

* Help avoid clash with compiled frameToRecords keys

* Make subtable height unconstrained

* Support show field names in nested tables toggle

* TableNG: Fix footer + some other misc updates (#99846)

fix: footer fixes huzzah

* TableNG: Styling - Update styling for cells (#99851)

* fix(table-ng): bargauge inner width issue

* TableNG: Move header cell component (#99844)

* fix(table-ng): move header cell into separate file

* Fix sub table

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Auto cell feature parity (#100095)

* feat(table-ng): auto cell feature parity

* TableNG: JSON cell implementation + hover fixes (#100152)

* feat: tableNG json cell + auto fixes

* chore: add comment

* add justify content to json cell

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>

* TableNG: Fix cell hover issue (#100207)

* fix(table-ng): cell hover issue

* better commenting

* TableNG: Text color cell (#100120)

feat(table-ng): text color cell feature parity

* TableNG: Image cell implementation (#100132)

* feat: tableNG image cell

* fix: incorporate justify-content correctly

* chore: pass down cell options from fieldConfig

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>

* TableNG: Cell height performance improvement (#100544)

* chore: perf improvement

* chore: minor fix

* Update packages/grafana-ui/src/components/Table/TableNG/TableNG.tsx

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>

* chore: fix betterer

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>

* TableNG: Add pagination (#100165)

* TableNG: Add pagination

* TableNG: Get collapsed icon state correct + update `rowHeight` (#100556)

* fix: get collapsed icon state correct + update condition for calculating row height

* chore: some cleanup!

* chore: naming to avoid confusion with local state name

* TableNG: Add support for `DataLinksCell` (#100459)

* TableNG: Improve sub table styling (#100772)

* Move files temporarily to fix conflicts

* Fix feature flag conflicts

* Move files back to cell dir

* TableNG: Update inner height of bar gauge cell (#100996)

* fix: change inner height of bar gauge cell

* chore: move function to utils, cleanup

* Remove testing line

* TableNG: Add bottom border to column headers + fix footer styling (#101016)

* feat: add bottom border to column headers for table parity

* feat: summary row style fix

* chore: remove redundant style

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Add support for `ActionsCell` (#101024)

* TableNG: Cell hover styles + header resize handler indicator (#100770)

* fix: tableNG styles

* chore: clean up comments

* chore: remove column header stuffz for now

* fix: refactor to transform/translate + resize handler hover styling

* chore: re-think approach - change a lot of things

* chore: most recent iteration

* chore: wait i like this better

* chore: hoist into colors function + clean it up!

* moar better

* chore: define constants for clarity

* chore: calculate rbga to rgb values given background color

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Fix scoll hover jumpy behavior (#101085)

* fix(table-ng): hover scroll jumping

* Account for panel padding during pagination

---------

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Fix imports (#101059)

* fix(table-ng): clean imports

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>

* TableNG: Sorted rows dependent upon filtered rows (#100985)

TableNG: Improve multi-sort performance

* TableNG: Fix sparkline width (#101164)

fix(table-ng): sparkline width

* TableNG: Type TableNG (#101257)

* feat: type tableNG

* chore: push betterer

* chore: fix linter + why can't I have inline if statements... GRR!

* fix: linter - props name got changed at some point...

* feedback: data links prop consistency + json cell robustness

* chore: remove unused rowIndex prop

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Add support for datalinks (#100769)

Co-authored-by: drew08t <drew08@gmail.com>

* Chore: Remove unused import (#102064)

remove unused import

* Update betterer

* BarGauge: Remove z-index (#102220)

fix(bargauge): remove z-index

* TableNG: Refactor + testing (#102045)

* feat: type tableNG

* chore: push betterer

* chore: fix linter + why can't I have inline if statements... GRR!

* fix: linter - props name got changed at some point...

* feedback: data links prop consistency + json cell robustness

* feat: refactor + tests

* chore: fix import lint errors

* betterer

* chore: fix image cell

* chore: revert width function

* add test

* betterer

* chore: fix sorting + add tests

* chore: pr feedback

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Fix table suggestion (#102497)

fix: defensively guard against missing cellOptions

* TableNG: Footer fields calc fix (#102487)

* fix: respect footer fields calc selection

* chore: add test

* TableNG: Image cell hover fix (#102489)

fix: image cell hover

* TableNG: Persist scrollbars during re render (#102559)

* TableNG: Persist scrollbars during re render

* Update improved betterer

* TableNG: Fix column width override (#102474)

* fix(table): column width override

* TableNG: Add support for crosshair share (#102410)

* TableNG: Add support for crosshair share

* Add tests

* TableNG: Fix table ng tests (#102645)

fix: cellType causing tests to fail

* Remove empty file

* TableNG: Update util tests (#102646)

* TableNG: Add column type icon (#102686)

* chore(table-ng): add column type icon

* chore(table-ng): clean styling

* Use core internationalization outside grafana ui

* Import popover directly

* Add count to grafana-ui locales

* TableNG: Change feature flag to tableNextGen (#102814)

Change feature flag to tableNextGen

* TableNG: Add row colors (#102706)

* chore(table-ng): add row colors

* clean up

* fix params

* fix(table-ng): cell color background indexing

---------

Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
Co-authored-by: Alex Spencer <52186778+alexjonspencer1@users.noreply.github.com>
2025-03-25 20:57:57 -07:00
Stephanie Hingtgen 0ce28c8dd8 K8s: Reduce folder get calls in modes 0-2 (#102831) 2025-03-26 05:44:10 +02:00
Stephanie Hingtgen 9e10a7f9ce Tests: Fix failing integration test (#102847) 2025-03-25 21:17:56 -05:00
Stephanie Hingtgen 7c2890384a K8s: Dashboards: Set v1alpha1 as priority (#102729) 2025-03-25 10:32:49 -06:00
Kyle Brandt 0f6aff2057 SQL Expressions: allow ParenSelect in queries (#102807)
sql_expressions: allow ParenSelect
2025-03-25 16:19:52 +00:00