Commit Graph

31 Commits

Author SHA1 Message Date
Hugo Häggmark
6dbaa704bc
Explore: Align Explore with Dashboards and Panels (#16823)
* Wip: Removes queryTransactions from state

* Refactor: Adds back query failures

* Refactor: Moves error parsing to datasources

* Refactor: Adds back hinting for Prometheus

* Refactor: removed commented out code

* Refactor: Adds back QueryStatus

* Refactor: Adds scanning back to Explore

* Fix: Fixes prettier error

* Fix: Makes sure there is an error

* Merge: Merges with master

* Fix: Adds safeStringifyValue to error parsing

* Fix: Fixes table result calculations

* Refactor: Adds ErrorContainer and generic error handling in Explore

* Fix: Fixes so refIds remain consistent

* Refactor: Makes it possible to return result even when there are errors

* Fix: Fixes digest issue with Angular editors

* Refactor: Adds tests for explore utils

* Refactor: Breakes current behaviour of always returning a result even if Query fails

* Fix: Fixes Prettier error

* Fix: Adds back console.log for erroneous querys

* Refactor: Changes console.log to console.error
2019-05-10 14:00:39 +02:00
Hugo Häggmark
7b63913dc1 Explore: Adds logs highlighting in Explore on keypress (#16596)
Fixes: #16277
2019-04-16 16:27:57 +02:00
Hugo Häggmark
7eabc282e9
Chore: Adds typings to lodash (#16590) 2019-04-15 12:11:52 +02:00
Hugo Häggmark
a887c344eb
Fix: Disables auto open datasource picker on focus (#16398) 2019-04-09 14:59:30 +02:00
Hugo Häggmark
ed7ad8f6ac
Feat: Suggestion list in Explore is virtualized (#16342)
* Wip: virtualize suggestions list

* Refactor: Separate components to different files

* Refactor: Made TypeaheadItem a FunctionComponent using emotion

* Refactor: Use theme to calculate width instead of hardcoded values

* Refactor: Calculate list height and item size

* Style: Adds labels to emotion classes

* Refactor: Flattens CompletionItems to one list

* Chore: merge yarn.lock

* Refactor: Adds documentation popup on the side

* Refactor: Makes position of TypeaheadInfo dynamic

* Refactor: Calculations moved to separate file
2019-04-09 14:25:13 +02:00
Hugo Häggmark
d563505dd3 fix: added missing event to function signature
Fixes: #16055
2019-03-25 11:23:59 +01:00
Hugo Häggmark
9ba98b8703 Fixes #15223 by handling onPaste event because of bug in Slate 2019-02-05 13:13:52 +01:00
Hugo Häggmark
3b0a04c627 Fixed so onBlur event trigger an QueryChange and QueryExecute if values differ 2019-02-05 07:03:16 +01:00
Hugo Häggmark
2d0fd96621 More types and some refactoring 2019-02-04 07:50:17 +01:00
Hugo Häggmark
acea1d7f00 Alignment of interfaces and components 2019-02-04 07:50:17 +01:00
Hugo Häggmark
43f8098981 Removed the on every key change event 2019-02-04 07:48:25 +01:00
Torkel Ödegaard
6e0b873739 Merge branch 'master' into loki-query-editor 2019-02-01 11:17:22 +01:00
David Kaltschmidt
8d44ed8d8f Explore: query field should not propagate non-text change
- after mounting with an initial value, the onChange of a query field is triggered
- even though the slate documents are not the same, their text values are identical, hence the change propagation is useless
- added check to propagate text change only when text has actually changed
2019-01-29 15:53:51 +01:00
Torkel Ödegaard
e4244d8bf8 Merge branch 'master' into loki-query-editor 2019-01-29 07:10:06 +01:00
Hugo Häggmark
dc125f1e4d Made sure we only resetTypeahead if mounted 2019-01-28 14:43:59 +01:00
Torkel Ödegaard
02083d71c8 Loki query editor is starting to work, had to make changes to explore query field in order to update query from the outside without unmount between 2019-01-23 17:44:22 +01:00
David Kaltschmidt
6b9200a606 Explore: Split logging query into selector and search
- add second query field to logging datasource query component
- second field manages search term, first field manages stream selectors
- improved logging cheat sheet to get started
2018-12-09 18:44:59 +01:00
David Kaltschmidt
b3161bea5a Explore: Introduce DataQuery interface for query handling
- Queries in Explore have been string based
- This PR introduces the use of the DataQuery type to denote all queries handled in Explore
- Within Explore all handling of DataQueries is transparent
- Modifying DataQueries is left to the datasource
- Using `target` as variable names for DataQueries to be consistent with the rest of Grafana
2018-11-21 14:45:57 +01:00
Michael Huynh
22b8b04dbe
Preserve suffix text when applying function suggestion
Updates all PromQL function-like suggestions to omit parentheses
when inserted. Such insertions also preserve any suffix text.

Related: #13885
2018-11-09 20:43:20 +08:00
David Kaltschmidt
cf19ecc8f5 Make Explore plugin exports explicit 2018-10-30 14:38:34 +01:00
David Kaltschmidt
d0776937b5 Pluggable components from datasource plugins
- when instantiating a datasource, the datasource service checks if the
  plugin module exports Explore components, and if so, attaches them to
  the datasource
- Explore component makes all major internal pluggable from a datasource
  `exploreComponents` property
- Moved Prometheus query field to promehteus datasource and registered
  it as an exported Explore component
- Added new Start page for Explore, also exported from the datasource
2018-10-29 15:14:36 +01:00
Michael Huynh
c255b5da11
Add sum aggregation query suggestion
Implements rudimentary support for placeholder values inside a string
with the `PlaceholdersBuffer` class. The latter helps the newly added
sum aggregation query suggestion to automatically focus on the label
so users can easily choose from the available typeahead options.

Related: #13615
2018-10-28 21:03:39 +08:00
David Kaltschmidt
6f2315d5c5 Moved prom language features to datasource language provider 2018-10-25 12:24:24 +02:00
Michael Huynh
3bb0b0a551
Fix click-based selection of typeahead suggestion
In short, the underlying problem appears to be the `onChange()` handler
being triggered after handling the blur event. Since the contents have
not actually changed this forces the typeahead state to reset which
undesirably puts a stop to propagating the selected suggestion back up
to get set.

Related: #13604
2018-10-21 12:51:21 +08:00
Michael Huynh
a8c5ab76b3
Fix typeahead behaviour for QueryField
These changes were originally intended to address a bug whereby a
suggestion for an already selected label value continues to appear.
However, they also appear to fix several other problems in the area:

- Wrong suggestions when using negated label matching operators
- Misaligned label value suggestion replacements

Related: #13484
2018-10-17 22:09:03 +08:00
David Kaltschmidt
76a3b1a793 Explore: highlight typed text in suggestions
- use react-highlight-words
- add highlighting (color and border) to the matching substring of the
  suggested items in the typeahead
- extracted match finding from logging datasource
- created new utils/text.ts class for text-related functions
- added more types
2018-10-09 12:33:25 +02:00
David Kaltschmidt
e0b8b1b7af Explore: trigger a query field render to fix highlighting
- some syntax rules are loaded asynchronously
- when they have been received, the query field needs to re-render
- trigger re-render via bogus edit (tried other methods but could not
  find any)
2018-10-05 18:27:33 +02:00
David Kaltschmidt
a0b21db053 Explore: reset typeahead on cursor move 2018-10-04 17:25:31 +02:00
David Kaltschmidt
dc4b0cf2ca Avoid new metrics options being passed selector, made PromField pure 2018-10-04 15:28:33 +02:00
David Kaltschmidt
538ea1127e Perf on query field and typeahead
- Lower debounce
- refactor suggestion selection
- make Portal pure
- use prev suggestions object if suggestions are the same
2018-10-04 15:28:33 +02:00
David Kaltschmidt
d07a3a7637 Explore: moved code to app/features/explore 2018-09-24 12:16:06 +02:00