* Adhoc variable: Correctly preselect datasource when provisioning
* Fix test
* Remove data sources from ad hoc variable state in favor of DataSourcePicker
* Scenes: Support new top nav
* Page: Make Page component support new and old dashboard page layouts
* Pass scrollbar props
* Fixing flex layout for dashboard
* Progress on dashboard settings working with topnav
* Updated
* Annotations working
* Starting to work fully
* Fix merge issue
* Fixed tests
* Added buttons to annotations editor
* Updating tests
* Move Page component to each page
* fixed general settings page
* Fixed versions
* Fixed annotation item page
* Variables section working
* Fixed tests
* Minor fixes to versions
* Update
* Fixing unit tests
* Adding add variable button
* Restore annotations edit form so it's the same as before
* Fixed semicolon in dashboard permissions
* Fixing unit tests
* Fixing tests
* Minor test update
* Fixing unit test
* Fixing e2e tests
* fix for e2e test
* fix a11y issues
* Changing places Settings -> General
* Trying to fix a11y
* I hope this fixes the e2e test
* Fixing merge issue
* tweak
* wip
* make diff easier to read
* Update template_srv getVariables to return new TypedVariableModel
* update VariableType to use the type from TypedVariableModel
* tidy things up
* Chore: Use type-accurate mock variables in tests
* Chore: Type VariableState to use TypedVariableModel
* fix typo
* remove type assertion from template_srv.getVariables
* use typescript/no-redeclare for compatibility with ts overloads
* remove generics from getVariable() and overload it to only return undefined based on arguments
* update usages of getVariable()
* Fix Interval variable options picker not working
* 🚧: Mob session work 🔱
* user essentials mob! 🔱
* user essentials mob! 🔱
* 🚧: Mob session work 🔱
* user essentials mob! 🔱
* user essentials mob! 🔱
* user essentials mob! 🔱
* user essentials mob! 🔱
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
* Narrow Variable editor state using selector functions
- Explicitly type "extended" editor state in editor/reducter.ts using a union
- Create selectors to narrow the types, using unique properties from each extended state to discriminate the union
- Update DataSourceVariableEditor to use new style of redux connector
- Update variable editor components to use new selectors
* fix tests
* Make adhoc variable infoText optional, because it is!
* Add AdHocVariableEditor tests
* DataSourceVariableEditor tests
* comment
* reset
* Wrote tests for selectors \(that actually caught a bug, whodathunkit)
* fix stray types and lint issues
* Rename selector functions
* Chore: move constants to own file
* Chore: moves safe* functions to grafana/data
* Chore: moves safe* functions to grafana/data
* Chore: adds VariableQueryEditorProps and deprecates VariableQueryProps
* Chore: remove getDefaultVariableAdapters function
* Chore: moves transaction status to types
* Chore: fix tests that do not initialise TemplateSrv
* Chore: change space when stringifying
* Chore: revert safe* func move
* Chore: remove circular dependency in Explore utils
* Variables: adds drag and drop in variables list
* Refactor: fixes after PR comments
* Chore: updates after PR comments
* Refactor: adds styles during dragging
* Docs: update doc
* Chore: pushing Drone
* refactor(loginpage): migrate custom button styles to use Button component
* refactor(certificationkey): prefer grafana-ui form elements over html elements and classnames
* refactor(axisselector): prefer grafana-ui Button component over html button element
* refactor(input-datasource): replace use of btn class with grafana-ui components
* chore(grafana-ui): delete deprecated ToggleButtonGroup component
* refactor: replace btn and cta-form__close class usage with IconButton
* chore(closebutton): post master merge use v2 theme
* refactor(permissionlist): remove usage of .btn classname
* Wip
* docs(styling): update styling and theme docs import paths
* refactor(alerting): remote btn classnames from TestRuleResult
* refactor(apikeys): prefer grafana-ui Button components over btn classNames
* refactor(folders): prefer grafana-ui Button components over btn classNames
* refactor(teams): prefer grafana-ui Button components over btn classNames
* refactor(datasources): prefer grafana-ui Button components over btn classNames
* refactor: prefer grafana-ui Button components over btn classNames
* Minor style tweak to service buttons
* test: update snapshots related to button changes
* chore(input-datasource): remove unused import declaration
* refactor(loginservicebuttons): rename theme.palette to theme.colors
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Performance: Standardize lodash imports to use destructured members
Changes lodash imports of the form `import x from 'lodash/x'` to
`import { x } from 'lodash'` to reduce bundle size.
* Remove unnecessary _ import from Graph component
* Enforce lodash import style
* Fix remaining lodash imports
* Dashboard: Started migrating dashboard settings
* Restore general settings from angular
* Use react permissions component
* feat(dashboard): add react LinksSettings wrapper for dash-links-editor
* feat(dashboard): add react VersionsSettings wrapper for gf-dashboard-history
* refactor(dashboard): replace DashboardPermissions connectWithStore with connect
* chore(dashboard): folderInfo as undefined
* feat(dashboard): initial commit of dashboard settings json editor
* feat(dashboard): introduce save json functionality
* chore(dashboard): delete obsolete imports
* feat(dashboard): add save and save as buttons to settings nav
* feat(dashboard): add react wrapper for annotations settings
* chore(dashboard): put back canDelete for general settings delete button
* Make editable
* Remove makeEditable from SettingsCtrl
* feat(dashboard): show json editor save button if canSave
* refactor(dashboard): move hasUnsavedFolderChange to dashboard.meta
* feat(dashboard): render hasUnsavedFolderChange view in permissions settings
* feat(dashboard): reset hasUnsavedFolderChange on settingg save success
* feat(dashboard): refresh route on sucessful settings save
* test(dashboard): update snapshots
* refactor(dashboard): automatically infer connected props for dashboard permissions
* refactor(dashboard): give dashboard versions checkboxes some padding
* Update public/app/types/folders.ts
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* Starting moving more stuff into data source picker
* WIP progress
* Progress on datasource picker rethink
* Things are working now some details to figure out
* Removed commented part
* Complex work on getting data source lists
* Fixed variable support showing correct data sources
* Tried fixing dashboard import but failed
* Fixes
* Fixed import dashboard
* Fixed unit test
* Fixed explore test
* Fixed test
* Fix
* fixed more tests
* fixed more tests
* fixed showing which option is default in picker
* Changed query variable to use data source picker, updated tests and e2e
* Fixed more tests
* Updated snapshots, had wrong typescript version
* Refactor: Adds getNextAvailableId
* Refactor: Hides DependencyGraph button if there are no dependencies
* Refactor: Changes the new button
* Refactor: Removes usages of NEW_VARIABLE_ID
* Refactor: Reverts the new button
* Refactor: Replaces initLock with state machine
* Refactor: removes some states for now
* Refactor: adds loading state in OptionsPicker
* Refactor: major refactor of load state
* Refactor: fixes updating graph in parallell
* Refactor: moves error handling to updateOptions
* Refactor: fixes the last cases
* Tests: disables variable e2e again
* Chore: removes nova config
* Refactor: small changes when going through the code again
* Refactor: fixes typings
* Refactor: changes after PR comments
* Refactor: split up onTimeRangeUpdated and fixed some error handling
* Tests: removes unused func
* Tests: fixes typing
* Fix variable editor name-input bug
You couldn't delete an invalid character after typing it into the name-input field.
While investigating the issue turned out to be bigger, as there was a problem with
valid characters too. (See test scenarios below)
The fix seems to be, to remove an unnecessary check in the `changeVariableName`
action. There is theoretically now the possibility, that the `changeVariableName`
action is called with the same name, as the variable is already, but practically
there seems no possibility, that this could happen. A test, which checks that, had
to be removed too.
Test scenarios:
* 1st Scenario
1. Type "@"
2. Try deleting it
* 2nd Scenario
1. Type "w"
2. delete "w"
3. Try typing "w" again
Fixes#26562
* Fix bug when updating existing variable
* Templating: Moves global variables from TemplateSrv to Redux
* Refactor: renamed to meta
* Tests: fixed broken tests
* Chore: reduces strict null errors
* renamed meta variabel to system variable.
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>