Commit Graph

681 Commits

Author SHA1 Message Date
Torkel Ödegaard
48ae93048b
Panels: No title will no longer make panel header take up space (#16884)
* Panels: Initial poc of no panel titles

* moving panel-container to DashboardPanel

* Starting to work

* Gauge fix

* Panels: tweaked panel padding and title z-index stuff

* Panels: changed panel padding a bit and simplified it by having same padding in vertical and horizontal

* Lots of tweaks to panel padding related stuff

* Updated snapshot

* Added test dashboard

* Final refactorings

* Trim title befgor applying panel-container--no-title class

* Remove unnecessary type annotation

* Panels: hasTitle no need to trim

* Gauge: fixed font family
2019-05-06 15:26:09 +02:00
Torkel Ödegaard
575fe7ad5a
Gauge: Better handling of gauge repeat title (#16886)
* Gauge: began looking at gauge title

* Gauge: title improvements

* Minor progres

* Gauge: title improvements, still needs more tweaking

* Gauge: title is starting to work ok

* Use selectThemeVariant

* Remove unused type
2019-05-06 13:50:17 +02:00
Ryan McKinley
d881976c9d Refactor: move datemath to grafana/ui (#16890)
* move datemath to grafana/ui

* don't reference @grafana/ui from its own component
2019-05-06 12:36:42 +02:00
Ryan McKinley
073c84179f FieldDisplay: shared options model for singlestat panels (#16703)
* update single stat data model

* update single stat data model

* update single stat data model

* show limit default

* merge master

* change stat selector to single until #15954

* add tooltip

* begin children

* move options under display

* align gauge options

* add migration tests

* Docs: Updated changelog

* SingleStatPanels: show title if manual specified

* FieldPropEditor: Max should change max

* change stats to calcs in config

* remove prefix/suffix

* add test

* abort field cycle when passed the limit

* stub a better test

* move title to Field

* remove title
2019-05-04 10:08:48 +02:00
Ryan McKinley
493bf0c7b3
Refactor: rename statsCalculator to fieldReducer (#16867) 2019-05-03 13:16:33 -07:00
psschand
2af69ccf0f CSV: escape quotes in toCSV (#16874) 2019-05-03 09:31:13 -07:00
Ryan McKinley
0d02ceb452 Input Datasource: convert from angular config to react ConfigEditor (#16856)
* use ConfigEditor

* use ConfigEditor

* update readme

* make the jsondata generic
2019-05-03 06:56:54 +02:00
Ryan McKinley
ece4d2201c DataSources: minor typescript cleanups and comments (#16860)
* datasource interface cleanup

* more types

* use PluginInclude
2019-05-03 06:26:30 +02:00
Ryan McKinley
013f1b8d19
App Plugins: support react pages and tabs (#16586) 2019-05-02 10:15:39 -07:00
Ryan McKinley
2e326d1cb8
FormLabel: allow any rather than just a string for tooltip (#16841) 2019-05-01 15:47:51 -07:00
Ryan McKinley
51a98565dc
Refactor: consistant plugin/meta usage (#16834) 2019-04-30 22:36:46 -07:00
Marcus Efraimsson
fe20dde5db
Explore: Use SeriesData format for loki/logs (#16793)
This is the first step moving towards Explore supporting logs for 
more datasources than Loki. In the first step we move all the log 
processing from Loki into Explore.
- Make explore convert logs result returned from datasources to SeriesData, 
if needed, and for now convert SeriesData to LogsModel.
- Loki datasource query now returns SeriesData and all
processing have been moved into explore instead.
- Removed key from LogRowModel and use log row indexes as 
the unique key instead.
- Removed id from LogsModel since it looks like it's not in use.
- Introduced a new class FieldCache which is convenient to use when
looking up multiple fields and/or field types and series values.

Closes #16287
2019-04-30 18:21:22 +02:00
Ryan McKinley
26bd76b4c2
Refactor: move NavModel to @grafana/ui (#16813) 2019-04-30 07:46:46 -07:00
Ryan McKinley
af1e2615b2 Table: React table fix rotate support in storybook (#16816) 2019-04-30 09:21:49 +02:00
Marcus Efraimsson
02cb7ff436
Explore: Support user timezone (#16469)
Explore now uses the timezone of the user to decide if local browser 
time or UTC should be used. 
- Now uses TimeRange instead of RawTimeRange in explore item
state tree and only parsing actual time in a few action
handlers.
- Time picker should now properly handle moving back/forward and
apply time range when both utc and non utc time zone.
- URL range representation is changed from YYYY-MM-DD HH:mm:ss
to epoch ms.
- Now uses AbsoluteTimeRange in graph component instead of moment.
- Makes a copy of the time range passed to timeSrv to make sure immutability
of explore time range when for example elasticsearch test datasources uses
timeSrv and sets a time range of last 1 min.
- Various refactorings and cleanup.

Closes #12812
2019-04-29 18:28:41 +02:00
Ryan McKinley
7dbe719fda
Plugins: rename vizPlugin to panelPlugin (#16802) 2019-04-29 09:20:58 -07:00
Ryan McKinley
c5097e2ef3
Plugins: move app/feature/plugin properties into PluginMeta (#16809) 2019-04-29 09:14:39 -07:00
Ryan McKinley
5c2d38126d
Plugins: move PanelPluginMeta to grafana/ui (#16804) 2019-04-29 08:17:35 -07:00
Ryan McKinley
7146d576e6
Plugins: move datasource specific meta out of the main meta type (#16803) 2019-04-29 07:38:17 -07:00
Torkel Ödegaard
060e97bea8
Plugins: ReactPanelPlugin to VizPanelPlugin (#16779)
* Plugins: ReactPanelPlugin renamed

* Plugins: renamed PanelPlugin to PanelPluginMeta and VizPanelPlugin to PanelPlugin
2019-04-26 19:16:38 +02:00
Torkel Ödegaard
e38762665b
UX: Improve Grafana usage for smaller screens (#16783)
* Mobile: Switch to mobile view already at md or lower breakpoint

* UX: Tweaked breakpoint so that media-breakpoint-up(md) will only apply to screens larger than normal ipad

* Updated snapshots
2019-04-26 19:16:03 +02:00
Torkel Ödegaard
e694fd8fb6
ThresholdEditor: Minor style fix for smaller screens (#16791) 2019-04-26 19:15:37 +02:00
Carl Bergquist
85e5835ddc Chore: bump jQuery to 3.4.0 in grafana/ui (#16781)
CVE-2019-5428
Vulnerable versions: < 3.4.0
Patched version: 3.4.0
A prototype pollution vulnerability exists in jQuery versions < 3.4.0 that
allows an attacker to inject properties on Object.prototype.

https://nvd.nist.gov/vuln/detail/CVE-2019-5428
2019-04-26 10:29:40 +02:00
Torkel Ödegaard
ccffe0e9cc
RefreshPicker: minor design update (#16774)
Fixes #16627
2019-04-25 22:22:20 +02:00
Ryan McKinley
470634e2d6
Streaming: support streaming and a javascript test datasource (#16729) 2019-04-25 14:01:02 -04:00
Dominik Prokop
7aeae84c52
Feature: Enable React based options editors for Datasource plugins (#16748) 2019-04-24 23:18:51 +02:00
Dominik Prokop
739cdcfb6e
Feature: Migrate Legend components to grafana/ui (#16468)
* Introduced Abstract list, List and InlineList components for easier lists generation
* Enable custom item key on abstract list items
* Enable $.flot in storybook
* Expose onOptionsChange to react panel. Allow React panels to be function components
* Update type on graph panel options to group graph draw options
* Introduce GraphPanelController for state and effects handling of new graph panel
* Group visualisation related stories under Visualisations
2019-04-24 10:14:18 +02:00
Dominik Prokop
19e824006a
Refactor: Make SelectOptionItem a generic type to enable select value typing (#16718)
* Make SelectOptionItem a generic type to enable select value typing
* TS ignores added because of optional value on Select items (it's no longer any)
2019-04-23 20:44:16 +02:00
Patrick O'Carroll
f175046bc1 Dashboard: Minor settings UI Update (#16669)
* removed settings header in aside, added header next to search button, tweaked paddings

* Minor tweak
2019-04-22 16:04:35 +02:00
Ryan McKinley
b9ff1923e7
QueryEditors: pass PanelData and filtered PanelData to each editor (#16692) 2019-04-20 12:26:49 -07:00
Ryan McKinley
4e54509dde
Refactor: improvements to PanelQueryRunner (#16678)
merged DataQueryOptions + DataRequestInfo info: DataQueryRequest
2019-04-18 21:56:27 -07:00
Ryan McKinley
5976b421fe
refactor: move timeInfo to DataRequestInfo (#16664)
* use timeInfo from request

* move timeInfo to DataRequestInfo
2019-04-18 00:00:46 -07:00
Ryan McKinley
ed0192104c
refactor: Merge PanelChrome and DataPanel, do query execution in PanelQueryRunner (#16632)
Moves query execution logic to PanelQueryRunner and structures PanelChrome so it subscribes to the query results rather than necessarily controlling their execution.
2019-04-17 10:51:50 -07:00
Patrick O'Carroll
d040e336c1 UI: Remove old icons (#16335)
* removed unsused grafana-icon classes, replaced grafana-icons with gicons

* replaced old dashboard and datasource icons with gicon, fixed so icons on plugin list are shown

* removed unsused grafana-icon classes, replaced grafana-icons with gicons

* replaced old dashboard and datasource icons with gicon, fixed so icons on plugin list are shown

* replaced fontawesome cog, eye, link and edit with gicons

* updated snapshot

* fixed color of cog in dashboard nav, removed icons from buttons, ran preitterier on some files

* changed opacity on getting started icons and fixed getting started button

* .5 -> 0.5 fix for prettier
2019-04-17 15:18:32 +02:00
Johannes Schill
4606a6a894
Chore: Lock dependencies (#16644)
* fix: Lock version of dependencies

* fix: Lock version of devDependencies

* fix: Lock down grafana/ui npm versions + regenerate lockfile

* fix: Back some versions i tried to bump

* fix: Bump react and react-dom to latest

* chore: Remove types/react from resolutions

* fix: Lock eventemitter3 version in package.json
2019-04-17 12:43:00 +02:00
Ryan McKinley
514818f16d
Panel Plugins: pass query request/response to react panel plugins (#16577)
* pass query request/response to panel plugins

* rename finishTime to endTime

* move QueryResponseData to a sub variable

* rename to PanelData

* make data not optional

* make data not optional

* missing optional
2019-04-16 13:23:34 -07:00
Johannes Schill
406ef962fc Explore & Dashboard: New Refresh picker (#16505)
* Added RefreshButton

* Added RefreshSelect

* Added RefreshSelectButton

* Added RefreshPicker

* Removed the magic string Paused

* Minor style changes and using Off instead of Pause

* Added HeadlessSelect

* Added HeadlessSelect story

* Added SelectButton

* Removed RefreshSelectButton

* Added TimePicker and moved ClickOutsideWrapper to ui/components

* Added TimePickerPopOver

* Added react-calendar

* Missed yarn lock file

* Added inputs to popover

* Added TimePicker and RefreshPicker to DashNav

* Moved TimePicker and RefreshPicker to app/core

* Added react-calendar to app and removed from ui/components

* Fixed PopOver onClick

* Moved everything back to ui components because of typings problems

* Exporing RefreshPicker and TimePicker

* Added Apply and inputs

* Added typings

* Added TimePickerInput and logic

* Fixed parsing of string to Moments

* Fixed range string

* Styling and connecting the calendars and inputs

* Changed Calendar styling

* Added backward forward and zoom

* Fixed responsive styles

* Moved TimePicker and RefreshPicker into app core

* Renamed menuIsOpen to isOpen

* Changed from className={} to className=""

* Moved Popover to TimePickerOptionGroup

* Renamed all PopOver to Popover

* Renamed popOver to popover and some minor refactorings

* Renamed files with git mv

* Added ButtonSelect and refactored RefreshPicker

* Refactored TimePicker to use new ButtonSelect

* Removed HeadlessSelect as suggested

* fix: Fix typings and misc errors after rebase

* wip: Enable time picker on dashboard and add tooltip

* Merge branch 'master' into hugoh/new-timepicker-and-unified-component

# Conflicts:
#	packages/grafana-ui/package.json
#	packages/grafana-ui/src/components/Input/Input.test.tsx
#	packages/grafana-ui/src/components/Input/Input.tsx
#	packages/grafana-ui/src/utils/validate.ts
#	public/app/features/dashboard/panel_editor/QueryOptions.tsx
#	yarn.lock

* fix: Snapshot update

* Move TimePicker default options into the TimePicker as statics, pass the tooltipContent down the line when wanted and wrap the button in a tooltip element

* fix: Override internal state prop if we provide one in a prop

* Updated snapshots

* Let dashnav control refreshPicker state

* feat: Add a stringToMs function

* wip: RefreshPicker

* wip: Move RefreshPicker to @grafana/ui

* wip: Move TimePicker to @grafana/ui

* wip: Remove comments

* wip: Add refreshPicker to explore

* wip: Use default intervals if the prop is missing

* wip: Nicer way of setting defaults

* fix: Control the select component

* wip: Add onMoveForward/onMoveBack

* Remove code related to the new time picker and refresh picker from dashnav

* Fix: Typings after merge

* chore: Minor fix after merge

* chore: Remove _.map usage

* chore: Moved refresh-picker logic out of the refresh picker since it will work a little differently in explore and dashboards until we have replaced the TimeSrv

* feat: Add an Interval component to @grafana/ui

* chore: Remove intervalId from redux state and move setInterval logic from ExploreToolbar to its own Interval component

* feat: Add refreshInterval to Explore's URL state

* feat: Pick up refreshInterval from url on page load

* fix: Set default refreshInterval when no value can be retained from URL

* fix: Update test initial state with refreshInterval

* fix: Handle URLs before RefreshPicker

* fix: Move RefreshInterval to url position 3 since the segments can take multiple positions

* fix: A better way of detecting urls without RefreshInterval in Explore

* chore: Some Explore typings

* fix: Attach refresh picker to interval picker

* chore: Sass fix for refresh button border radius

* fix: Remove refreshInterval from URL

* fix: Intervals now start when previous interval is finished

* fix: Use clearTimeout instead of clearInterval

* fix: Make sure there's a delay set before adding a timeout when we have slow explore queries

* wip: Add refresh picker to dashboard

* feat: Add util for removing keys with empty values

* feat: RefreshPicker in dashboards and tmp rem out old RefreshPicker

* fix: Remove the jumpy:ness in the refreshpicker

* Changed placement and made it hide when your in dashboard settings

* chore: Move logic related to refresh picker out of DashNav to its own component

* feat: Add tooltip to refreshpicker

* fix: Fix bug with refreshpicker not updating when setting to 'off'

* fix: Make it possible to override refresh intervals using the dashboard intervals

* chore: Change name of Interval to SetInterval to align with ecmascripts naming since its basically the same but declarative and async

* fix: Use default intervals when auto refresh is empty in dashboard settings

* fix: Hide time/interval picker when hidden is true on the model, such as on the home dashboard

* fix: Interval picker will have to handle location changes since timeSrv wont

* RefreshPicker: Refactoring refresh picker

* RefreshPicker: minor refactoring
2019-04-16 09:15:23 +02:00
Brian Gann
d23f50ab23 Build: Fix missing icon typing (#16601) 2019-04-15 19:55:12 +02:00
Ryan McKinley
5a0cf1a83c AppPlugins: fix app support and add an alpha example (#16528)
* app pages

* app pages

* workign example

* started alpha support

* bump controller limit

* bump controller limit

* existing plugin pages work again

* save Plugin in cache

* remove AppPage wip
2019-04-15 16:54:00 +02:00
Hugo Häggmark
7eabc282e9
Chore: Adds typings to lodash (#16590) 2019-04-15 12:11:52 +02:00
Ryan McKinley
08a22c806f
DirectInput: new alpha datasource that lets you enter data via CSV
Initial alpha datasource that saves data directly in a panel or in the shared datasource configs.
2019-04-12 10:13:36 -07:00
Ryan McKinley
3c21a121eb Plugins: Unifying alpha state & options for all plugins (#16530)
* app pages

* app pages

* workign example

* started alpha support

* remove app stuff

* show warning on alpha/beta panels

* put app back on plugin file

* fix go

* add enum for PluginType and PluginIncludeType

* Refactoring and moving settings to plugins section

fixes #16529
2019-04-12 13:46:42 +02:00
Dominik Prokop
5b1f0bb01d PanelData: Rename ColumnStats type to FieldStats (#16494) 2019-04-10 18:38:41 +02:00
Ryan McKinley
5bc936d2da
DataSourceApi: add getCollapsedText(query) to DataSourceApi (#16482)
Add getQueryDisplayText() to DataSourceApi
2019-04-10 09:31:32 -07:00
Ryan McKinley
5e7f7e658d Singlestat-v2/Gauge: Show title when repeating (#16477)
* show title in singlestat2

* show title in gauge

* use CSS class for emotion

* use emotion not scss
2019-04-10 10:19:44 +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
Torkel Ödegaard
52c3990412
Graph: Fixed auto decimals in legend values (#16455)
Fixes #16448
2019-04-09 13:04:09 +02:00
Patrick O'Carroll
70dcb6a22a Graph: Fixed series legend color for hidden series (#16438)
* replaced colors for headingColor, link and linkDisabled with colors from grayscale, replaced colors for linkDisabled and linkHover with colors from grayscale, changed color for sha-modal-in-text to text-color-empahises

* fixed snapshot
2019-04-08 10:52:00 +02:00
Torkel Ödegaard
9630d812b8 Templating: Fixed loading React variable query editor (#16439)
Fixes #16439
2019-04-08 10:46:57 +02:00
Patrick O'Carroll
128fb8fa7e Theme: Reworking button styling (#16362)
* added new variables for height in theme, added height to gui button large, replaced add gicon with regular gicon, replaced + with gicon, changed button display to flex

* set fixed height to large button, removed xlarge button and replaced with large button

* removed button-mini and replaced with button-small, set fixed height to default button and button-small

* fixed padding for default and large button, fixed height for navbar button, fixed snapshots

* fixed padding and margin on navbar buttons

* gave special height to login btn-primary

* readded btn-mini class with same styling as btn-small and a deprecated notice

* fixed add panel widget buttons
2019-04-08 09:48:15 +02:00