* 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()
* Remove generic from getInstanceState
* update usages of getInstanceState
* fix lint
* 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
* 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
* Variables: turns on newVariables as default
* Chore: adds default templating state
* Some small refactorings to get the template_srv tests to get green when toggle is enabled by default.
* Refactor: adds getVariables dependency to DashboardModel
* Tests: fixes StackDriver tests
* Tests: updates snapshots
* Tests: updates snapshot for DashboardGrid.test.tsx
* Tests: fixes DashboardModel.test.ts
* fixed initDashboard tests.
* renamed variable.
* changed so we use the templating.list when running the migration work.
* changed so we always returns the variables in sorted order.
* Tests: fixed cloudwatch tests
* added so we set the global template variable props.
* Fixed tests and added moved logic to complete templateSrv variables.
* removed unneccesary updateIndex.
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* Refactor: moves all the newVariables part to features/variables directory
* Feature: adds datasource type
* Tests: adds reducer tests
* Tests: covers data source actions with tests
* Chore: reduces strict null errors