Commit Graph

135 Commits

Author SHA1 Message Date
Ben Tasker
f38f657f87 InfluxDB: Add new truthiness operators (Is and Is Not) to InfluxQL Query Builder (#77923)
* 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)
2023-11-15 21:10:37 +01:00
Ben Tasker
c06debe200 InfluxDB: Add support for >= and <= comparison operators to IQL Query Builder (#77917)
* 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
2023-11-15 12:21:41 +01:00
siddhikhapare
80b9af3c33 InfluxDB: Remove context menu "remove" option from query builder (#77102)
* remove menu item from query builder

* files changed

* file fixed

* error fixed

* unit test fixed
2023-11-10 16:45:13 +01:00
Daniel Benjamin
4159f47df0 chore: Remove gh-form and LegacyForms from InfluxInfluxQLConfig (#76497)
* chore: Remove gh-form and LegacyForms from InfluxInfluxQLConfig

* chore: Refactor InfluxInfluxQLConfig component UI to use Field
2023-11-08 17:45:03 +01:00
ismail simsek
3cb92e3460 InfluxDB: Template variable support for SQL language (#77799)
* Only run through with classicQuery if the language is influxql and backend migration is disabled

* Add variable editor

* Simple template variable support

* Show template variables in the drowdowns

* better imports

* unit tests

* it is now 11 just because we add rawSql interpolation in datasource.ts applyVariables method

* fix
2023-11-08 15:00:13 +01:00
ismail simsek
d75886c3ac Chore: Remove default metadata key from influxdb sql config page (#76994)
Remove default metadata key
2023-10-24 20:11:37 +02:00
Daniel Benjamin
7f89251dc9 chore: Remove gh-form and LegacyForms from InfluxFluxConfig (#76495)
* chore: replace SecretFormField with SecretInput

* chore: Remove gh-form and LegacyForms from InfluxFluxConfig
2023-10-13 19:55:37 +02:00
ismail simsek
be7fe761a3 Fix Influxdb language order in config page (#76488)
Fix wrong language display
2023-10-12 21:16:31 +03:00
Shabeeb Khalid
2442532f57 chore(76107): Remove legacy form from InfluxConfigEditor (#76382)
Remove legacy form from InfluxConfigEditor

With this commit, legacy form components are remvoed from influxdb
config eidtor page. Form is now using FieldSet instead.
2023-10-12 20:03:21 +02:00
ismail simsek
bd23757a42 Chore: Reorder InfluxDB languages in combobox (#76352)
Reorder the languages in combobox
2023-10-11 15:16:21 +02:00
ismail simsek
c64e73540d InfluxDB SQL: Use double quotes instead of backticks (#75443)
Use double quotes instead of backticks
2023-10-04 15:47:54 +02:00
ismail simsek
11a9faabb1 InfluxDB SQL: Remove default limitation in the query (#75749)
* Remove limitation in the query

* Revert "Remove limitation in the query"

This reverts commit 8a347bc487.

* simpler approach
2023-10-02 11:22:53 +02:00
ismail simsek
9d44fefe82 Chore: InfluxDB unit test overhaul (#75436)
* Rename the mock function

* Move tests

* Refactor existing tests

* add influxql_metadata_query tests

* move to root

* remove unnecessary file

* adhoc test

* Remove unused parameter

* tests for future

* fix mocks

* betterer

* changes after review
2023-09-29 11:28:52 +02:00
ismail simsek
9c50296a07 InfluxDB: Fix multiple tag selection (#74205)
Return all tag keys
2023-09-08 20:57:11 +02:00
Alex Godbehere
e17928c194 InfluxDB: Add delete buttons to measurement, part and tag in query editor (#72825)
* InfluxDB/QueryEditor: Add delete buttons to measurement, part and tag sections

The diff provides an additional "delete" button to measurement section, part list section and tags section in the influxdb datasource editor. This improves user experience by allowing users to delete measurements, parts and tags directly from the user interface. The commit also slightly refactors the options generation for these sections, removing the "-- remove filter --" option as it becomes redundant with the new delete button.

* InfluxDB/QueryEditor: Replace Button with AccessoryButton

Changed the Button components to AccessoryButton from the '@grafana/experimental' package, used for the delete functionality in data source components for influxdb query editor. The AccessoryButton is more visually consistent with our current Grafana UI aesthetic and provides better user experience. The change was implemented in FromSection.tsx, PartListSection.tsx, and TagsSection.tsx files.

* Update public/app/plugins/datasource/influxdb/components/editor/query/influxql/visual/FromSection.tsx

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* Update public/app/plugins/datasource/influxdb/components/editor/query/influxql/visual/PartListSection.tsx

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2023-08-24 17:19:01 +02:00
Galen Kistler
1e07c7c874 InfluxDB: Tests for #73247 (#73250)
* add test assertions to cover default config UI state in influxDB plugin
2023-08-15 11:50:50 -05:00
Galen Kistler
873ebc58b4 InfluxDB: make influxql options the default if nothing defined (#73247)
make influxql options the default if nothing defined
2023-08-14 22:31:11 +03:00
ismail simsek
c344b0e427 Chore: Use the const instead of hardcoded string (#72925)
* Use the const instead of hardcoded string

* Use the const instead of hardcoded string

* Fix unit test
2023-08-04 16:55:33 +02:00
ismail simsek
3395ad03a7 InfluxDB: Fix retention policy handling for InfluxDB 3.0 engine by bringing back the hardcoded default (#72467)
* Revert retention policy handling

* Remove comment

* Send retention policy with request when it's possible
2023-08-04 15:57:41 +02:00
ismail simsek
d333c09418 InfluxDB: SQL Query Editor (#72168)
* Add influxdbSqlSupport feature toggle

* Add SQL option to the config page

* Add SQL backend

* Add metadata support in config page

* Implement unified querying

* Fix healthcheck query

* fsql tests

* secure grpc by default

* code cleanup

* Query handing for sql mode

* Implement a placeholder sql editor

* Fix query language dropdown

* drop in SQL editor

* switch to use rawSql, get sql editor working

* fix healthcheck

* WIP

* memoize component to stop unwanted rerender onQuery

* dont reinit datasource on each render of the editor

* remove useless memo

* clean up

* Fix the link

* Alpha state warning

* Remove console.logs

* update model for fsql

* remove unused

---------

Co-authored-by: Galen <galen.kistler@grafana.com>
2023-08-02 19:04:16 +02:00
ismail simsek
77e7ae2a1b InfluxDB: SQL Support (#72167)
* Add influxdbSqlSupport feature toggle

* Add SQL option to the config page

* Add SQL backend

* Add metadata support in config page

* Implement unified querying

* Fix healthcheck query

* fsql tests

* secure grpc by default

* code cleanup

* Query handing for sql mode

* Implement a placeholder sql editor

* Fix query language dropdown

* go mod updates

* make lint-go

* more make lint-go

* remove unused runQuery

* switch statements with default case

* linting again
2023-08-02 18:27:43 +02:00
ismail simsek
31f4eddbb6 InfluxDB: Fix fetching retention policies after manually entering a non-existent retention policy (#72564)
Don't fetch tag keys before fetching policies
2023-07-31 20:38:46 +02:00
ismail simsek
376ab3f3ca InfluxDB: Fix setting retention policy on visual query editor (#72248)
Prevent fetch loop
2023-07-25 11:21:35 +02:00
ismail simsek
dfb94ff396 Chore: Influxdb variable type cleanup (#71874)
type cleanup
2023-07-18 18:43:30 +02:00
ismail simsek
a742149687 InfluxDB: Refactor annotation transform logic (#69866)
* Reformatting and restructuring

* Update unit test

* Always send the default retention policy as first element

* Fix typo

* Update test

* Update test once more

* Field names start with capital letters

* Simplify the condition

* Case-insensitive checks

* Fix typo

* Update response_parser test

* Update imports

* Refactor annotation transform logic

* More types

* Moore types

* Fix table rendering issue

* Use it as raw query

* Migrate annotations

* Set default retention policy when there is no policy in the query

---------

Co-authored-by: Ludovic Viaud <ludovic.viaud@gmail.com>
2023-06-26 19:20:03 +02:00
ismail simsek
3341229bc2 Chore: InfluxDB - Reformatting and restructuring (#69669)
* Reformatting and restructuring

* Update unit test

* Export as function
2023-06-09 12:57:46 +02:00
ismail simsek
e770bd6cd1 Chore: InfluxDB - Restructure the folders (#69554)
* Move useUniqueId to a general place

* Use new built-in useId hook

* Rename query builder and metadata query

* Move and rename the query builder tests

* Refactor query_builder and metadata_query

* Fix test

* Fix test

* Restructure folders

* update texts

* Update the mock

* Fix test

* update imports

* update imports again
2023-06-06 14:28:59 +02:00
ismail simsek
ae0f94e616 InfluxDB: Refactor query_builder and metadata_query (#69550)
* Move useUniqueId to a general place

* Use new built-in useId hook

* Rename query builder and metadata query

* Move and rename the query builder tests

* Refactor query_builder and metadata_query

* Fix test

* Fix test
2023-06-06 13:58:51 +02:00
ismail simsek
a0dd981f85 Chore: Rename influxql query builder and metadata request files (#69549)
* Move useUniqueId to a general place

* Use new built-in useId hook

* Rename query builder and metadata query

* Move and rename the query builder tests
2023-06-05 21:57:21 +02:00
ismail simsek
97221595c1 Chore: Move useUniqueId to a general place (#69542)
* Move useUniqueId to a general place

* Use new built-in useId hook
2023-06-05 14:38:54 +02:00
ismail simsek
f610e37aec InfluxDB: Interpolate retention policies (#69202)
Interpolate retention policies
2023-05-31 12:04:12 +02:00
Ivana Huckova
0d54a8858b Flux: Improve styling of sample query button and use sentence case (#69222) 2023-05-30 15:04:31 +02:00
Stephanie Hingtgen
255d8f3326 Plugins: Remove secure socks proxy feature toggle (#66611) 2023-04-18 11:11:23 -06:00
ismail simsek
6d53c87862 InfluxDB: Fix querying with hardcoded retention policy (#66466)
* Use default retention policy instead of hardcoded retention policy

* Load retention policies for the editor

* Fix the typo

* Add more comment line

* Update comment

* Better error message

* Put back getTagKeys and getTagValues

* Fix unit test
2023-04-14 15:10:31 +02:00
Ashley Harrison
1261345b81 Chore: Upgrade to react 18 (#64428)
* update react 18 related deps

* fix some types

* make sure we're on react-router-dom >= 5.3.3

* Use new root API

* Remove StrictMode for now - react 18 double rendering causes issues

* fix + ignore some @grafana/ui types

* fix some more types

* use renderHook from @testing-library/react in almost all cases

* fix storybook types

* rewrite useDashboardSave to not use useEffect

* make props optional

* only render if props are provided

* add correct type for useCallback

* make resourcepicker tests more robust

* fix ModalManager rendering

* fix some more unit tests

* store the click coordinates in a ref as setState is NOT synchronous

* fix remaining e2e tests

* rewrite dashboardpage tests to avoid act warnings

* undo lint ignores

* fix ExpanderCell types

* set SymbolCell type correctly

* fix QueryAndExpressionsStep

* looks like the types were actually wrong instead :D

* undo this for now...

* remove spinner waits

* more robust tests

* rewrite errorboundary test to not explicitly count the number of renders

* make urlParam expect async

* increase timeout in waitFor

* revert ExplorePage test changes

* Update public/app/features/dashboard/containers/DashboardPage.test.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* skip fakeTimer test, ignore table types for now + other review comments

* update package peerDeps

* small tweak to resourcepicker test

* update lockfile...

* increase timeout in sharepublicdashboard tests

* ensure ExplorePaneContainer passes correct queries to initializeExplore

* fix LokiContextUI test

* fix unit tests

* make importDashboard flow more consistent

* wait for dashboard name before continuing

* more test fixes

* readd dashboard name to variable e2e tests

* wait for switches to be enabled before clicking

* fix modal rendering

* don't use @testing-library/dom directly

* quick fix for rendering of panels in firefox

* make PromQueryField test more robust

* don't wait for chartData - in react 18 this can happen before the wait code even gets executed

---------

Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2023-04-11 10:51:54 +01:00
ismail simsek
0aee7338ad InfluxDB: Fix sending retention policy with InfluxQL queries (#63820)
* Send retention policy if that is specified

* Define the type

* Update default retention policy name

* Update unit tests

* fix unit tests

* fix unit tests again

* Load retention policies at first

* Fix tests

* Fix Editor tests

* Remove unused code

* A simpler approach

* Even simpler

* Even simpler
2023-03-28 19:20:15 +03:00
Ludovic Viaud
5bd2fac9c8 InfluxDB: Update InfluxQL querybuilder to qualify identifiers (#62230) 2023-03-02 15:05:24 +01:00
ismail simsek
65fbbc06fd InfluxDB: Move database information into jsondata (#62308)
* Use dbName in jsonData instead of database

* Use dbName in instead of database

* Remove database fields and define dbName instead

* Fix tests

* set database field as empty string
2023-01-31 14:38:02 +01:00
Stephanie Hingtgen
0a1f31814a Plugins: add UI for more supported datasources with secure socks proxy feature toggle (#61962) 2023-01-25 08:39:17 -07:00
ismail simsek
6a68fbb495 Influxdb: Improve filtering (#60994)
* Add createOptionPosition props to SelectBase

* Show create option in the beginning of the list

* Show only matched template variables

* Fix the test

* Remove redundant check
2023-01-09 11:37:25 +01:00
Ashley Harrison
bb2ecb1468 Influx: Query segment menus now position correctly near the bottom of the screen (#60087)
* only open the menu once options are loaded for better positioning

* use !loadState.loading instead of Boolean(loadState.value)
2022-12-14 09:51:04 +00:00
kay delaney
b49713d323 Chore: Remove unused files (#57515) 2022-10-25 23:34:53 +01:00
Beto Muniz
9fb6cdae8a Support resize Flux Query Editor (#57214) 2022-10-21 09:40:09 -03:00
Ashley Harrison
5e394c0385 Convert influxdb ConfigEditor test to RTL (#54332) 2022-08-30 09:30:10 +01:00
Brendan O'Handley
085258c035 Influxdb Datasource: Remove angular dependencies for Influxdb influxql annotations (#52546)
* migrate influxQL annotations to react and build new annotation editor

* use es-lint ignore for any type in migration

* changes for PR comments

* handle annotation editor on load error without query

* correct label for ann editor query

* add null coalesce operator and remove comment

* fix tooltip
2022-08-17 13:20:46 -04:00
Beto Muniz
d4a63aca64 InfluxDB: Remove browser ('direct' access) mode. (#53529)
* Remove InfluxDB browser ('direct' access) mode.

* Improve text usage and clarity
2022-08-17 09:40:21 -03:00
Jack Westbrook
ccd75d72f8 Chore: Remove react-testing-lib from bundles (#50442)
* refactor(selectoptiontest): move helper function out of grafana/ui so testing-lib isn't in bundle

* test(selectoptionintest): update import location of helper function

* test(amroutes): put back missing selectOptionInTest helper

* test(selectoptionintest): clean up remaining file imports / exports

* test(queryeditor): fix failing import

* refactor(grafana-ui): reuse selectOptionInTest in SelectBase test
2022-06-09 11:10:48 +02:00
Marcus Efraimsson
36c3398c6d Datasource: Remove support for unencrypted passwords (#49987)
* Datasource: Remove support for unencrypted passwords

* regenerate swagger

* [WIP] Remove references to datasource password and basic auth password fields (#50015)

* try delete moar tings

* delete provisioning stuff

* remove from yaml

* update snapshots

* remove lingering snapshot fields

* fix ds http settings

* Re-generate swagger and fix swagger-api-spec make target

Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-06-03 17:38:22 +02:00
Ashley Harrison
06d3c27bc1 Select: Portal menu by default (#48176)
* Remove menuShouldPortal from all <Select /> components

* fix unit tests

* leave menuShouldPortal as an escape hatch

* Fix import order
2022-05-04 15:12:59 +01:00
Josh Hunt
3c6e0e8ef8 Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00