* Add file blacklist to `grafana-cli cue gen-ts` cmd
* Add CI step checking all cuetsification is done
* Add dummy command to make the next one fail
* Generate drone bits
* Check diff output failure
* Echo list of untracked files, for failure locality
* Move git cleanness checking into script
* Blacklist of cue files is complete and correct
* Remove news panel plugin from cuetsify blacklist
* Dummy commit, check that untracked gen still fail
* Tie off remaining errors
* Re-add barchart to blacklist
* Remove file left around by earlier pipeline
* Commit generated news models.gen.ts
* Include eslint as part of cuetsified output gen
* Update pkg/cmd/grafana-cli/commands/cuetsify_command.go
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Update scripts/drone/steps/lib.star
Co-authored-by: Maria Alexandra <239999+axelavargas@users.noreply.github.com>
* Update drone.yml
* Last fix on .drone.yml
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Maria Alexandra <239999+axelavargas@users.noreply.github.com>
* fix(pluginsettings): reject with error so datasource plugin loading failures still render ui
* feat(pluginpage): handle plugin loading error
* refactor(datasources): separate out datasource and meta loading so store has info for deletion
* fix(datasourcesettings): introduce loading flag to wait for datasource and meta loading
* test(datasourcesettings): fix failing test
* test(datasources): assert loading status of datasource settings
* test(datasources): update action tests for latest changes
* Setup extensible filters
* Fix test
* Handle filter as array
* Add className
* Abstract getFilters
* Make docs link external
* Use underline for links in tooltips instead of link color
Co-authored-by: Selene <selenepinillos@gmail.com>
* refactor licenseURL function to use context and export permission evaluation fction
* remove provisioning file
* refactor licenseURL to take in a bool to avoid circular dependencies
* remove function for appending nav link, as it was only used once and move the function to create admin node
* better argument names
* create a function for permission checking
* extend permission checking when displaying server stats
* enable the use of enterprise access control actions when evaluating permissions
* import ordering
* move licensing FGAC action definitions to models package to allow access from oss
* move evaluatePermissions for routes to context serve
* change permission evaluator to take in more permissions
* move licensing FGAC actions again to appease wire
* avoid index out of bounds issue in case no children are passed in when creating server admin node
* simplify syntax for permission checking
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* update loading state for server stats
* linting
* more linting
* fix test
* fix a frontend test
* update "licensing.reports:read" action naming
* UI doesn't allow reading only licensing reports and not the rest of licensing info
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* PanelContext: Adds a container enum / string to inform panel about what the outer container/app state is
* Changing to use existing CoreApp
* fixing unified alerting type errors
Remove validation for labels to be accepted in the Alertmanager, This helps with datasources that produce non-compatible labels.
Adds an "object_matchers" to alert manager routers so we can support labels names with extended characters beyond prometheus/openmetrics. It only does this for the internal Grafana managed Alert Manager.
This requires a change to alert manager, so for now we use grafana/alertmanager which is a slight fork, with the intention of going back to upstream.
The frontend handles the migration of "matchers" -> "object_matchers" when the route is edited and saved. Once this is done, downgrades will not work old versions will not recognize the "object_matchers".
Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Nathan Rodman <nathanrodman@gmail.com>
* Add expand all button for rule list group view
* filter out recording rules by default
* Create rule type filter
* Add placeholder text for inputs
* WIP move Silences to use DynamicTable
* Use dynamic table for silences page
* hide expand all for state list view
* Add placeholders for inputs
* Update selector in receivers test
* Fix strict error for ruleType
* remove redundant placeholder text and cleanup hooks
* add fixed width for schedule
* Rebase with dynamic table for silences
* only show expand/collapse when filters are active
* NavBar: Styling tweaks to tidy up appearance
* NavBar: Add external link icon to external links
* NavBar: Dim the external link icon
* bump drone
* NavBar: Rename variable to better describe what it's doing
* refactor(Plugins/Admin): add a "badge" for displaying available updates
* refactor(Plugins/Admin): rename component
* refactor(Plugins/Admin): use the PluginListItemBadges component
* Basic implementation of getLogsVolumeQuery method
* Add todos
* Add a switcher to automatically load logs volume
* De-scope dismissing logs volume panel
* De-scope logs volume query cancellation
* Remove todo
* Aggregate logs volume components in single panel
* Show logs volume only when it's available
* Aggregate logs volume by level
* Simplify aggregation
* Handle no logs volume data
* Add error handling
* Do not show auto-load logs volume switcher when loading logs volume is not available
* Remove old logs volume graph
* Clean up
* Make getting data provider more generic
* Provide complete logs volume data (error, isLoading)
* Display more specific error message
* Add missing props to mocks
* Remove setRequest method
* Mark getQueryRelatedDataProviders as internal
* Add missing dataQueryRequest and add a todo
* Remove redundant loading state
* Do not mutate existing queries
* Apply fix for zooming-in from main
* Post-merge fixes
* Create collection for data provider results
* Use more generic names
* Move aggregation logic to Loki logs volume provider
* Move LogsVolume to common types
* Update tests
* Post-merge fixes
* Fix mapping related data values
* Simplify prop mappings
* Add docs
* Fix property name
* Clean-up
* Mark new types as internal
* Reduce number of providers to logs volume only
* Simplify data structure to DataQueryResponse
* Move Logs Volume panel to a separate component
* Test logsVolumeProvider.ts
* Add observable version of datasource mock
* Test getLogsVolumeDataProvider method
* Test LogsVolumePanel
* Test logs volume reducer
* Clean up
* Clean up
* Fix test
* Use sum by to use level field directly
* Fix strict type errors
* Fix strict type errors
* Use "logs" instead of "unknown" if only one level was detected
* Add docs about logs volume
* Rename histogramRequest to logsVolumeRequest
* Use LogsVolumeContentWrapper all content types
* Move `autoLoadLogsVolume` local storage handling
* Fix strict error
* Move getting autoLoadLogsVolume to initial state
* Cancel current logs volume subscription
* Test cancelling subscriptions
* Update docs/sources/datasources/loki.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Update packages/grafana-data/src/types/explore.ts
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Inline container styles
* Ensure logs volume is aggregated per each subscription separately
* Simplify logs volume provider
* Type-guard support for logs volume provider
* Simplify event handlers to avoid casting
* Clean up and docs
* Move auto-load switcher to logs volume panel
* Fix test
* Move DataSourceWithLogsVolumeSupport to avoid cross referencing
* Simplify interface
* Bring back old histogram and hide the new one behind a feature flag
* Add missing props to logs histogram panel
* Clean up the provider when it's not supported
* Simplify storing autoLoadLogsVolume
* Remove docs
* Update packages/grafana-data/src/types/logsVolume.ts
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
* Skip dataframes without fields (instant queries)
* Revert styles changes
* Revert styles changes
* Add release tag
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
* chore(Plugins/Admin): make the Plugins Catalog the default way to interact with plugins
* chore(defaults.ini): change the default value for `plugin_admin_enabled`
* test(Plugins): make the tests pass
* Extend User type
* Render licensed roles and org units
* Combine admin icon with units
* Extract search users to a new service
* Fix wire provider
* remove mock data
* Fix icon margin
* Fix common_test and remove RouteRegister
* Remove old endpoints
* Fix test
* Add indexes to dashboards and orgs tables
* Fix lint
* Revert docs changes
* undo docs formatting
* Change order of input and filters
* Abstract aria-label into a function
* Add accessible info about user's membership
* UI tweaks
Co-authored-by: spinillos <selenepinillos@gmail.com>
* Fix(A11y): add label to explore short url button
* Grafana-UI(A11y): Set Selects images alt attribute to their option label
* Update packages/grafana-ui/src/components/Select/SingleValue.tsx
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Prometheus: Run Explore both queries trough backend
* Refactor, simplify
* Set default values for query type selector
* Run multiple queries as one query trough backend
* Remove trailing newlines
* Pass utcOffset
* Remove trailing comma
* Add meta to frames only at 1 place
* Set exemplars to falsee if they are disabled
* Revert "Set exemplars to falsee if they are disabled"
This reverts commit e7b697c9f3.
* working version but with duplications.
* refactor(Plugins/Admin): use "fr" instead of "repeat" for grid columns
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* fix(Plugins/Admin): use PluginIconName instead of IconName
* refactor(Plugins/Admin): store the display-mode on the state
* refactor(Plugins/Admin): use && for conditional rendering
* refactor(Plugins/Admin): rename variable
* refactor(Plugins/Admin): share code between card and row components
* test(PluginListItemRow): add tests
* test(Plugins/Admin): add a simple test for the display-mode switching
* fix(Plugins/Admin): compose styles with css``
* refactor(Plugins/Admin): rename "table" to "grid" for display modes
* test(Plugins/Browse): follow up on renaming "table" to "grid"
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* Expose FilterInput from grafana/ui
* Make table filter case insensitive
* Update packages/grafana-ui/src/components/Table/FilterList.tsx
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* adding working version of notificaion banner trigger.
* Move it to enterprise
* Fixing csss, none of the pages showed our CustomScrollbar or had double scrollbars
* fixing explore
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* added possibility to track if remote plugins could be fetched.
* adding hook to detect if remote plugins are available.
* feat(catalog): disable installed/all filter if remote plugins are unavailable
* feat(Plugins/Admin): hide the install controls if GCOM is not available
* refactor(Plugins/Admin): group `@grafana` dependencies
* fix(Plugins/Admin): don't show an error alert if a remote plugin is not available
* feat(Plugins/Admin): prefer to use the local version of the readme
* chore(Plugins/Admin): type the mocked state properly
* test(Plugins/Admin): add tests for the Plugin Details when GCOM is not available
* test(Plugins/Admin): add tests for the Browse when GCOM is not available
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* feat(catalog): introduce id and href to PluginDetailsTabs
* feat(catalog): add hrefs and ids to PluginDetails tabs. Pass queryParams to PluginDetailsBody
* feat(catalog): pass queryParams to PluginsDetailsBody and add page param to PluginListCard
* fix(catalog): prevent flicker of content by waiting for fetch details to finish loading
* feat(catalog): add tab icons to PluginDetails page
* feat(catalog): make breadcrumbs in PluginDetailsHeader aware of page queryparam
* fix(catalog): fix deeplinking to PluginDetails by comparing tabs length
* test(catalog): update tests with correct props and wrap in router
* influxdb: flux: handle $__interval and $__interval_ms in alert-queries
* influxdb: flux: do not handle interval-variable in the frontend
* $__interval should be rounded
* added comment
* PlaylistPage: removes search due to no wildcard support
* PlaylistPage: adds back search input and wildcard search support
* makes banner to appear only when playlist does not exist
* Chore: small refactor
* Chore: some code refactoring to make it readable
* fixes focus leaving input when query is cleared
* adds styling to the emptyQueryList banner
* extracts emptyQueryListBanner component to a separate file
* adds debounce to search
* use new theme for styling
* Chore: some nit fix
* fixes empty list banner showing for a second before the full list is loaded
* Fix: removes search when playlist is empty
Co-authored-by: Ash <ashharrison90@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
* Explore: prevent eplore from hiding errors containing refId
* Update public/app/features/explore/ResponseErrorContainer.tsx
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Disable external user's change role in admin
* Missing part of the tooltip text
* Disable change button with the tooltip instead dropdown
* Missing refactor
* Apply suggestion
* refactor(Plugins/Admin): add an extra line-break between tests
* test(Plugins/Admin): add a couple of more tests for Plugin Details
* fix(Plugins/Admin): fix accidental linting issue
* Add filtering for Silences page
* Add tests Silences and SilenceEditor
* pr feedback: add field validation and test refactor
* Add test for checking content
* fix overflow for validation error message
* increase login threshold for pa11y
* Make silence filter state its own type and function
* test(Plugins/Admin): add tests for the helper functions
* chore(Plugins/Admin): add `error` field to the CatalogPlugin mock
* test(Plugins/Admin): add new properties `error` & `isDisabled` to test expectations
* refactor(Plugins/Admin): make the `errors` param optional everywhere
* fix(Plugins/Admin): fix a rebase bug
* add create and add buttons that will be linked to enterprise
* wip
* wip
* clean up
* Co-authored-by: Travis Patterson <masslessparticle@gmail.com>
Added Query Modal that can be accessed from enterprise.
* reset docs
* reset docs
* docs changing
* docs
* docs
* unexporting props
* added generic ways to add more query actions and create actions
* cleanup
* adding internal tag
* adding onAddQuery to props so actions can add queries
* created a single query action component
* adding partial to query
* casting dataquery
Co-authored-by: Travis Patterson <travis.patterson@grafana.com>
* Prometheus: Add running of instant queries trough backend
* Rename response, keep zero length frames
* Remove debug log
* Simplify and fix value text
* Update duplicated and redundant go test
* Update public/app/plugins/datasource/prometheus/datasource.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Refactor using model to create Promquery
* Fix the response length
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* added errors in plugin list.
* added error to details page.
* adding badge on details page.
* added some more tests.
* Renamed to disabled and will handle the scenario in the plugin catalog.
* Update public/app/features/plugins/admin/components/PluginDetailsDisabledError.tsx
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* fixing some nits
* added missing isDisabeld to the mock.
* adding tests to verify scenarios when plugin is disabled.
* fixed issue with formatting after file changed on GH.
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Run Explore range queries trough backend
* Remove trailing comma
* Add timeRange step alignment to backend
* Remove creation of instant query on backend as it is not supported ATM
* Remove non-related frontend changes
* Pass offset to calculate aligned range trough prom query
* Update order in query error message
* tableRefIds shouldn't contain undefined refIds
* Remove cloning of dataframes when processing
* Don't mutate response
* Remove ordering of processed frames
* Remove df because not needed
* Chore: More TypeScript strict fixes
* Chore: Use filter instead of reduce to fix TypeScript error
* Chore: Retype AzureResultFormat as string
* Chore: Account for getBlocks() poor typings of reduce
* Chore: Need to explicitly check for undefined here since '' is falsey
* feat(Plugins/Admin): show a confirmation modal when uninstalling a plugin
* refactor(Plugins/Admin): use a helper function for showing/hiding the modal
* test(Plugins/Admin): test if the modal disappears after an uninstall
* POC/Thresholds: Allow thresholds modification directly from the time series panel
* Snapshot updates
* Optimize styles memoization
* change threshold from graph
* renames and logging
* using useeffect to update graph
* Fix react worning about setting state on unmounted component
* revert panelrenderer
* using onFieldConfig change
* use a useeffect
* simplied fieldConfig state
* Do not use plot context in ThresholdControlsPlugin
* Do not throw setState warnings when drag handle is dropped
* Update thresholds position on the graph when updating threshold drag handle
* fix issues with rerenders
* prevent thresholds on conditions with range
* only edit the first threshold
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* WIP
* Functional without custom wrapper component, needs highlight
* Remove latency from explore
* Sync eventbus
* Some cleanup & removal of unused code
* Avoid clearing queries when running all empty queries
* Run remaining queries when removing one
* Update snapshots
* fix failing tests
* type cleanup
* Refactor QueryRows
* update snapshot
* Remove highlighter expressions
* minor fixes in queryrows
* remove unwanted change
* fix failing e2e test
* Persist refId in explore url state
* make traces test slightly more robust
* add test for query duplication
* Refactor log query handling
* Add link to config page
* Change message about missing xray to alert
* Add xrayTraceLinks
* Fix typo in field name
* Fix tests and lint
* Move test
* Add test for trace id link
* lint
* refactor(Plugins/Admin): add a type for version coming back from the API
* refactor(Plugins/Admin): only add necessary version information to the state
* test(Plugins/Admin): add a mock for a CatalogPlugin
* test(Plugins/ADmin): add a mock for a LocalPlugin
* test(Plugins/Admin): add a test for a RemotePlugin
* test(Plugins/Admin): add helpers for mocking plugin states
* refactor(Plugins/Admin): mock the Redux state instead of the API responses
This makes it simpler to add new test cases and also makes
the tests easier to reason about.
* refactor(Plugins/Admin): mock the Redux state instead of the API responses
* Navigation: Implement active state for items in the Sidemenu
* Navigation: Improve logic for when link is active and extract isSearchActive into a util function
* Navigation: Implement custom rule for dashboards under /d/ and fix minor bugs
* Navigation: only show first matching active state + strip query params from link urls
* Move SplitOpenFn type to grafana-data
* Use panel renderer instead of Timeseries panel for graph in Explore
* rename splitopen props on panel context
* feat(catalog): add update info to PluginListCard
* refactor(catalog): use IconName enum and minor styling changes to PluginHeaderDependencies
* fix(catalog): add a semver range to grafanaVersion for dependency checks in InstallControls
* fix(@grafana/data): add a missing optional field to the plugin types
* refactor(Plugins/ADmin): use the type from @grafana/data for plugin dependencies
* fix(Datasources/Graphite): add missing `state` to useEffect dependencies
* refactor(Plugins/Admin): remove unnecessary comment
* feat(Plugins/Admin): add plugin and grafana dependencies to the CatalogPluginDetails
* feat(Plugins/ADmin): show Grafana dependency under plugin details
* feat(Plugins/Admin): show grafana and plugin dependencies for a plugin
* test(Plugins/Admin): add a smoke test for plugin dependencies
* refactor(Plugins/Admin): remove unused style from the header
* Normalize alert state name for UI descriptor retrieval
* Bring back alert state and metric values to annotation tooltip
* Make sure alert state is only shown when present
* Update test
* Handle Error alerting satte
* Revert "Prometheus: add functionality to specify desired step interval in dashboards panels (#36422)"
This reverts commit ddf5b65c51.
Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
* Revert "Explore: add functionality for supporting different step modes in prometheus (#37829)"
This reverts commit f433cfd8d9.
Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
* Revert stepMode BE implementation from #36796
Co-authored-by: "Ivana Huckova" <ivana.huckova@gmail.com>
* feat(Plugins/Catalog): start adding necessary apis
* feat(PLugins/Catalog): add extra helpers for merging local & remote plugins
* feat(Plugins/Catalog): add plugin details as an optional field of CatalogPlugin
* feat(PLugins/Catalog): add scaffolding for the new redux model
* feat(PLugins/Catalog): export reducers based on a feature-flag
* refactor(Plugins/Admin): rename api methods
* feat(Plugin/Catalog): add an api method for fetching a single plugin
* feat(Plugins/Admin): try cleaning stuff around plugin fetching
* ffeat(Plugins/Catalog): return the catalog reducer when the feature flag is set
* refactor(Plugins/Admin): fix typings
* feat(Plugins/Admin): use the new reducer for the browse page
* feat(catalog): introduce selectors to search and filter plugins list
* refactor(Plugins/Details): rename page prop type
* refactor(Plugins/Admin): add a const for a state prefix
* refactor(Plugins/Admin): use the state prefix in the actions
* feat(Plugins/Admin): add types for the requests
* refactor(Plugins/Admin): add request info to the reducer
* refactor(Plugins/Admin): add request handling to the hooks & selectors
* refactor(Plugins/Details): start using the data stored in Redux
* refactor(Plugins/Admin): rename selector to start with "select"
* fix(Plugins/Admin): only fetch plugins once
* refactor(Plugins/Admin): make the tab selection work in details
* refactor(catalog): put back loading and error states in plugin list
* refactor(Plugins/Admin): use CatalogPlugin for <PluginDetailsSignature />
* feat(Plugins/Admin): add an api method for fetching plugin details
* refactor(Plugins/Admin): add action for updating the details
* irefactor(Plugins/Admin): show basic plugin details info
* refactor(Plugin Details): migrate the plugin details header
* refactor(Plugins/Admin): make the config and dashboards tabs work
* refactor(Plugins/Admin): add old reducer state to the new one
* feat(catalog): introduce actions, reducers and hooks for install & uninstall
* refactor(catalog): wire up InstallControls component to redux
* refactor(catalog): move parentUrl inside PluginDetailsHeader and uncomment InstallControls
* feat(catalog): introduce code for plugin updates to install action
* refactor(Plugins/Admin): add backward compatible actions
* test(catalog): update PluginDetails and Browse tests to work with catalog store
* refactor(Plugins/Admin): make the dashboards and panels work again
* refactor(Plugins/Admin): fix linter and typescript errors
* fix(Plugins/Admin): put the local-only plugins to the beginning of the list
* fix(Plugins/Admin): fix the mocks in the tests for PluginDetails
* refactor(Plugins/Admin): remove unecessary hook usePluginsByFilter()
* refactor(Plugins/Admin): extract the useTabs() hook to its own file
* refactor(Plugins/Admin): remove unused helpers and types
* fix(Plugins/Admin): show the first tab when uninstalling an app plugin
This can cause the user to find themselves on a dissappeared tab, as the
config and dashboards tabs are removed.
* fix(catalog): correct logic for checking if activeTabIndex is greater than total tabs
* fix(Plugins/Admin): fix race-condition between fetching plugin details and all plugins
* fix(Plugins): fix strict type errors
* chore(catalog): remove todos
* feat(catalog): render an alert in PluginDetails when a plugin cannot be found
* feat(catalog): use the proper store state
* refactor(Plugins/Admin): fetch local and remote plugins in parallell
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* style(catalog): fix prettier error in api
* fix(catalog): prevent throwing error if InstallControlsButton is unmounted during install
* refactor(Plugins/Admin): add a separate hook for filtering & sorting plugins
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* Transform dataframe to jaeger format
* Transform dataframe to Zipkin format
* Add endpoint type and shared to Zipkin
* Transform dataframe to OTLP format
* Add data tab tests and note in inspector docs
* Remove comments and logs
* Resolve typescript strict errors
* Update docs/sources/explore/explore-inspector.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Update docs
* Improve OTLP conversion to include service info and additional tags
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Docs: Updated 'Whitelisted' to 'Accepted' to match what's shown in the frontend now.
* Apply suggestions from code review
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
* Docs: Update frontend to match docs
* kick drone
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
* convert SQLs to use sdk contracts
* make draft
* postgres
* intermedia
* get datasourceinfo filled at the beginning of the service
* move the interval into package because of cyclict import and fix all postgres tests
* fix mysql test
* fix mssql
* fix the test for pr https://github.com/grafana/grafana/issues/35839
* fix some issue about intervalv2 package
* update sql test
* wire migration for SQLs
* add sqls to the background process
* make it register instead of register and start
* revert formatting
* fix tests
* fix linter
* remove integration test
* Postgres test fix
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* Dashboard: Fix UID not preserved on import
* Import Dashboard: add e2e test to verify uid is preserved when importing dashboard
* E2e: Use dynamic uid
* Tests: fixes e2e test
* Chore: adds back waits
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
* Add UMLs
* Add rendered diagrams
* Move QueryCtrl to flux
* Remove redundant param in the reducer
* Use named imports for lodash and fix typing for GraphiteTagOperator
* Add missing async/await
* Extract providers to a separate file
* Clean up async await
* Rename controller functions back to main
* Simplify creating actions
* Re-order controller functions
* Separate helpers from actions
* Rename vars
* Simplify helpers
* Move controller methods to state reducers
* Remove docs (they are added in design doc)
* Move actions.ts to state folder
* Add docs
* Add old methods stubs for easier review
* Check how state dependencies will be mapped
* Rename state to store
* Rename state to store
* Rewrite spec tests for Graphite Query Controller
* Update docs
* Update docs
* Add GraphiteTextEditor
* Add play button
* Add AddGraphiteFunction
* Use Segment to simplify AddGraphiteFunction
* Memoize function defs
* Fix useCallback deps
* Update public/app/plugins/datasource/graphite/state/helpers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/helpers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/helpers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/providers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/providers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/providers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/providers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/providers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/providers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Add more type definitions
* Remove submitOnClickAwayOption
This behavior is actually needed to remove parameters in functions
* Load function definitions before parsing the target on initial load
* Add button padding
* Fix loading function definitions
* Change targetChanged to updateQuery to avoid mutating state directly
It's also needed for extra refresh/runQuery execution as handleTargetChanged doesn't handle changing the raw query
* Fix updating query after adding a function
* Simplify updating function params
* Migrate function editor to react
* Simplify setting Segment Select min width
* Remove unnecessary changes to SegmentInput
* Extract view logic to a helper and update types definitions
* Clean up types
* Update FuncDef types and add tests
* Show red border for unknown functions
* Autofocus on new params
* Extract params mapping to a helper
* Split code between params and function editor
* Focus on the first param when a function is added even if it's an optional argument
* Add function editor tests
* Remove todo marker
* Fix adding new functions
* Allow empty value in selects for removing function params
* Add placeholders and fix styling
* Add more docs
* Create basic implementation for metrics and tags
* Post merge fixes
These files are not .ts
* Remove mapping to Angular dropdowns
* Simplify mapping tag names, values and operators
* Simplify mapping metrics
* Fix removing tags and autocomplete
* Simplify debouncing providers
* Ensure options are loaded twice and segment is opened
* Remove focusing new segments logic (not supported by React's segment)
* Clean up
* Move debouncing to components
* Simplify mapping to selectable options
* Add docs
* Group all components
* Remove unused controller methods
* Create Dispatch context
* Group Series and Tags Sections
* Create Functions section
* Create Section component
* use getStyles
* remove redundant async/await
* Remove
* remove redundant async/await
* Remove console.log and silent test console output
* Do not display the name of the selected dropdown option
* Move Section to grafana-ui
* Update storybook
* Simplify SectionLabel
* Fix Influx tests
* Fix API Extractor warnings
* Fix API Extractor warnings
* Do not show hidden functions
* Use block docs for better doc generation
* Handle undefined values provided for autocomplete
* Basic integration
* Move creating state to context.tsx
* Update tests
* Rename test
* Clean up dependencies
panel.targets is not needed for interpolation - it happens in the data source itself. It was used only to show query ref in the the dropdown for the segment.
* Update time range when it changes
* Change action name
* Simplify segments cloning
* Remove redundant variable
* Use styles instead of direct css
* Update docs
* Remove angular wrappers
* Remove redundant tests
* Section -> SegmentSection
* Simplify section styling
* Remove redundant div
* Fix unit tests
* Simplify SegmentSection component
* Use theme.spacing
* Use empty label instead of a single space label
* Remove targetFull
It was used in the past two store the query interpolated with sub-queries inside the model and send both to the backed (interpolated and not interpolated). This has been changed though - the logic has been moved away from model to the data source where interpolation happens and now only interpolated query is passed meaning targetFull is not needed anymore.
* Revert "Remove targetFull"
This reverts commit 499f8b33
* Bring back calculating targetFull
* Clean up
* Add missing dep
* Add missing dep in tests
* Fix time range synchronization
* Fix warning message
* Remove unused type
* Synchronize changes to the query
Co-authored-by: Giordano Ricci <me@giordanoricci.com>