* 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
* 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
* try this again
* use element rather than grid position
* adding back console output to debug gridPos alternative
* less logging
* simplify
* subscribe/unsubscribe to event streams when view changes
* Panels: Minor change to lazy loading
A new parameter `queryMode` is added to the InfluxDB datasource to provide a way to use POST instead of GET when querying the database. This prevents to get any error when querying the database with a heavy request.
Default configuration is kept to GET for backward compatibility. Tests and documentation have been added for this new behaviour.
* Added search-query-parser package
* Migrate search input field to react and enable current folter filtering
* Reveiw changes
* FIx tags
* Fix event handlers passed to html elements directly
* noImplicitAny fix
* Debounce search method in search controller
* Search: have clear reset query as well
This fixes a regression introduced by #16724 when datasource is configured
to use HTTP method POST and testing the datasource which results in an
'options.headers is undefined'. Same error probably happens if datasource
is configured to use basic auth and testing datasource.
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
* Add file path to metadata and show it in dialogs
* Make path relative to config directory
* Fix tests
* Add test for the relative path
* Refactor to use path relative to provisioner path
* Change return types
* Rename attribute
* Small fixes from review
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
* 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
Adds a new version option 7.0+ (70 internally).
Version 7.0+ doesn't include document types in index mappings
so support for handling this have been added.
Version 7.0+ returns number of hits in a different way so
support for handling this have been added.
Version 7.0+ doesn't support sending
max_concurrent_shard_requests in multisearch header so
support for sending this in query string have been added.
Update elastic6 docker block and dashboards (devenv) to use
6.7.1 images, filebeat index name is now filebeat-YYYY.MM.DD
and dashboard include correct tags and links.
Add elastic7 docker block and provisioning (devenv).
Updates documentation regarding new version.
Closes#15622
* 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
* Do not override default `hide` value of variables
Some variables like `constant` are configured to
be hidden by default and this setting must be
treated with respect.
* make textBox variable visible by default
Fixes#16695
* move queryRunner to panelModel
* Added interval back as prop, not used yet
* PanelQueryRunner: Refactoring, added getQueryRunner to PanelModel
* PanelQueryRunner: interpolatel min interval
* move queryRunner to panelModel
* remove isEditing from PanelChrome
* move listener to QueriesTab
* Fixed issue with isFirstLoad set to false before loading state is Done
* QueryRunner: Fixed issue with error and delayed loading state indication
* Anoter fix to issues with multiple setState calls in observable callbacks
Moves query execution logic to PanelQueryRunner and structures PanelChrome so it subscribes to the query results rather than necessarily controlling their execution.
* 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
* 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
* 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
* 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
* fix label handling
* SEARCH() results could have multiple namespace, remove from legend
* divide GetMetricStatistics related code
* divide GetMetricData related code
* divide parseGetMetricDataResponse()
* divide parseGetMetricDataQuery()
* divide test code
* add test for GetMetricData
* add test for GetMetricData parse response
* fix bug of terminating gap
* fix gofmt
* Store passwords in secureJsonData
* Revert unnecessary refactors
* Fix for nil jsonSecureData value
* Remove copied encryption code from migration
* Fix wrong field reference
* Remove migration and provisioning changes
* Use password getters in datasource proxy
* Refactor password handling in datasource configs
* Add provisioning warnings
* Update documentation
* Remove migration command, moved to separate PR
* Remove unused code
* Set the upgrade version
* Remove unused code
* Remove double reference
* 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
* Unprovision dashboard in case of DisableDeletion = true
* Rename command struct
* Handle removed provision files
* Allow html in confirm-modal
* Do not show confirm button without onConfirm
* Show dialog on deleting provisioned dashboard
* Changed DeleteDashboard to DeleteProvisionedDashboard
* Remove unreachable return
* Add provisioned checks to API
* Remove filter func
* Fix and add tests for deleting dashboards
* Change delete confirm text
* Added and used pkg/errors for error wrapping
* 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
* 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
* WIP: began work on adding title support to bar gauge
* Feat: BarGauge progress
* wip: trying improve text size handling in bar gauge
* BarGauge: progress on title & value auto sizing
* BarGauge: more auto size handling
* bargauge: minor tweaks
* Added tests
* Refactoring: BarGauge refactoring moving css generation to seperate functions and adding some basic tests
* Refactoring VizRepeater and more
* Fix: updated and fixed tests
* wip: began work off removing meta and pluginExports from DataSourceApi interface
* WIP: changing how plugins are exports and loaded
* Down the refactoring rabit hole that keeps expanding
* TestData now returns DataSourcePlugin
* Refactoring: fixed app config page loading, type renamings and more typings
* Refactor: Correct casing on DatasourceStatus => DataSourceStatus
* Style: made outlined buttons and used it in Alert component
* Refactor: clean up state on load data source failure
* Refactor: test data source thunk created
* Refactor: move logic to changeDatasource and call that from intialize
* Refactor: move load explore datasources to own thunk
* Refactor: move logic to updateDatasourceInstanceAction
* Tests: reducer tests
* Test(Explore): Added tests and made thunkTester async
* Fix(Explore): Fixed so that we do not render StartPage if there is no StartPage
* Fix(Explore): Missed type in merge
* Refactor: Thunktester did not fail tests on async failures and prevented queires from running on datasource failures
* Feat: Fadein error alert to prevent flickering
* Feat: Refresh labels after reconnect
* Refactor: Move useLokiForceLabels into useLokiLabels from PR comments
* Feat: adds refresh metrics to Prometheus languageprovider
* Style: removes padding for connected datasources
* Chore: remove implicit anys
Similar to how the react panels make sure all data is SeriesData before passing it to the react panels, this makes sure SeriesData is converted to TableData|TimeSeries before passing it to the angular panels.
It also changes the typing to encourage using SeriesData for future development
* big value component
* big value component
* editor for font and sparkline
* less logging
* remove sparkline from storybook
* add display value link wrapper
* follow tooltip
* follow tooltip
* merge master
* Just minor refactoring
* use series after last merge
* Refactoring: moving shared singlestat stuff to grafana-ui
* Refactor: Moved final getSingleStatDisplayValues func
Fixes#14615.
Removes extra escaping for regex filter values when using ad hoc
filters for Prometheus. The extra escaping causes queries with
regex characters to be invalid.
Fixes#16040
Fix so that a template variable in the alias field is not interpolated on blur and only the value sent in the query is interpolated. Does a deep clone of the options.targets to avoid changing the original alias field.
* set the plugin version if there is a migration handler
* only call panel migration if the version changes
* set the version after change also
* avoid NPE... check that we have options
* destroy is based on the previous panel type, not the next one
* Panels: Minor refactoring on panel plugin version code, #16186
* Migrated loki syntax and labels logic to useLokiSyntax hook
* Enable loki labels refresh after specified interval has passed
* Enable periodic loki labels refresh when labels selector is opened
* Fix prettier
* Add react-hooks-testing-library and disable lib check on typecheck
* Add tests for loki syntax/label hooks
* Move tsc's skipLibCheck option to tsconfig for webpack to pick it up
* Set log labels refresh marker variable when log labels fetch start
* Fix prettier issues
* Fix type on activeOption in useLokiLabel hook
* Typo fixes and types in useLokiSyntax hook test fixes
* Make sure effect's setState is not performed on unmounted component
* Extract logic for checking if is component mounted to a separate hook
* grafana/master: (56 commits)
another change that didn't come with earlier commit
change that didn't come with in last commit
reversed dashboard-padding
Update CloudWatch metrics/dimension list (#16102)
brought back dashboard-padding and panel-padding variables, made dashboard-padding more specific
fix(prometheus): Change aligment of range queries (#16110)
Minor refactoring of testdata query order PR #16122
cleaner version
maintain query order
Update PLUGIN_DEV.md
Merge with master, and updated logo and name
more fixes to snapshot
more fixes to snapshot
removed empty space in snapshot
fixed snapshot for test
removed dashboard variables, removed headings-font-family variable, created theme variables for links and z-index, removed unused class in _panel_editor and _dashboard
Tooltip: show percent instead of value
Right tooltip position
Add "No data points" message
Improve tooltip look
...
- future alignment cause issues with rate charts and the display of last
values
- this change modifies the alignment to use the last available aligned
end date and no longer possibly requests data from the future