* Storybook: Remove flexbox from story container
* Update packages/grafana-ui/src/components/Monaco/CodeEditor.internal.story.tsx
Co-authored-by: Laura Benz <48948963+L-M-K-B@users.noreply.github.com>
---------
Co-authored-by: Laura Benz <48948963+L-M-K-B@users.noreply.github.com>
* issue loki queries in parallel so total query time is only the slowest query rather than the sum of all query times.
* Fix lint
* Add running of queries in parallel behind feature toggle to test the functonality before release
* Add span end
* Move shared logic to separate function
* Add logging and tracing around running of all queries
---------
Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
* various type fixes
* candlestick panel type fixes
* few more fixes
* some fixes
* more :)
* moar!
* undo change to SilencesFilter
* undo change to configureStore
* delete PanelHeader
* PanelHeaderMenuItem is only used in PageHeader
* PanelHeaderCorner only used by PanelEditorTableView
* PanelHeaderMenuTrigger not used anywhere
* PanelHeaderMenuWrapperNew is PanelHeaderMenuWrapper, old one is deleted
* remove newPanelChromeUI from test
* delete feature flag newPanelChromeUI
* PanelHeaderMenuWrapperNew is PanelHeaderMenuWrapper, old one is deleted
* create new feature toggle + start to put stuff behind it
* block move, tidy up interfaces
* fix new/folder actions buttons
* show warning when deleting library panels/alert rules + run i18n:extract
* pseudo
* update unit tests
* pass alert in description
* Progress
* think this a bad approach
* Scene panel repeats looking good
* Update
* update
* Update
* Use key instead for inspect/view
* refactorings to improve tests
* Update
* More tests
* Update
* added support for key / value variables
* Update
* Fixes
* remove log
* Update
* Removed old gdev templating dashboard and added new and improved one
* Update
* Added repeating panels coded demo
* Update to latest scenes lib
* review feedback fixes
* update
* Sync schema
* account for timezone when using relative times
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: L-M-K-B <48948963+L-M-K-B@users.noreply.github.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: tskarhed <1438972+tskarhed@users.noreply.github.com>
* keep as it was originally for now
* add e2e test for relative time zone overrides
* empty commit to add coauthors
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: L-M-K-B <48948963+L-M-K-B@users.noreply.github.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: tskarhed <1438972+tskarhed@users.noreply.github.com>
* fix types
* switch to using table panel in e2e test
* use regex for partial text match
* actually go to the dashboard...
* use include.text
* check for visibility first
* try waiting on backend request to complete
* CI driven development is fun
* make sure we're waiting for both data query calls
* open dashboard instead
* kick drone
* Revert "open dashboard instead"
This reverts commit bab9c77c4d.
* check timezone second
* refactor to avoid detached elements
---------
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: L-M-K-B <48948963+L-M-K-B@users.noreply.github.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: tskarhed <1438972+tskarhed@users.noreply.github.com>
* chore(plugins): bump systemjs to latest version
* refactor(plugins): switch runtime over to use latest systemjs, add typings
* refactor(plugins): use latest systemjs APIs for runtime dependency resolution
* refactor(plugins): return valid urls from backend for latest systemjs import to work
* revert(plugins): remove cfg from assetpath in favour of relative paths
* fix(plugins): useDefault for systemjs deps to solve undefined errors
* feat(plugins): add basic support for loading plugins via CDN
* fix(plugins): load nested plugins with latest systemjs
* feat(plugins): add back ability to transform plugin src for cdns
* feat(plugins): get caching for module.js working, clean up
* refactor(plugin_loader): create buildImportMap fn and more clean up
* refactor(angularapp): use buildImportMap for dependencies and clean up
* test(plugin_loader): fix failing test due to systemjs update
* test(jest): mock systemjs amd extra in tests to prevent it breaking tests
* chore(plugins): remove systemjs module-types extra, already included with system
* fix(plugins): update key for invalidating cached plugins
* fix: move systemjs amd define to another global so monaco can load
* refactor(plugins): clean up cache buster and tests
* chore(plugins): remove debug
* refactor(plugins): move systemjs define to keep global cleaner
* fix(plugins): set useDefault so system modules lodash references dont fail
* feat(plugins): hook systemjs onload so stylesheets are applied to the dom
* refactor(plugins): wrap amd formatted plugins in iife to prevent define collision
* feat(plugins): support system module format for legacy plugins
* test(plugincachebuster): update tests to match latest implementation
* test(plugins-loader): fix up tests post module property change
* fix test
* Update pkg/plugins/manager/loader/assetpath/assetpath.go
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
* chore(plugin_loader): remove stray import from merge conflict
* Revert "Update pkg/plugins/manager/loader/assetpath/assetpath.go"
This reverts commit 0df57d1cf20f49c22c93369001c70aae46a97c42.
* fix(plugin_loader): set use default for shared plugin dependencies
* refactor(plugins): use leading slash for Module and BaseUrl
* fix(plugins): fix resolve appending extension to cache query param
* refactor(plugins): align baseurl and module paths
* refactor(plugins): update builtInPlugins keys to match naming convention
* refactor(plugins): minor loader clean up, fix up types
* test(plugins): fix failing tests
* refactor(plugins): rename cache buster systemjs plugin to cache
* refactor(plugins): separate plugin_loader into smaller files
* chore(plugins): clean up plugin_loader types
* chore(plugin_sandbox): fix typescript error
* chore(npm): remove unplug debug and pin systemjs to 6.14.1
* refactor(plugins-cdn): update loaders to use absolute module url from backend
* fix(plugins): escape period in systemjs module regex
* chore(plugins): delete redundant systemjs plugins
* refactor(plugin_loader): move hooks into own file, add types
* test(plugins): add tests for systemjs loader hooks
* chore(plugins): rename systemjshooks file
* chore(plugins): remove redundant systemjs cdn backend code
* fix(plugins): handle loading with config.appSubUrl
* chore(plugins): delete redundant plugin-cdn angular code
* test(plugins): fix failing systemjs test missing pluginsCDNBaseUrl
* refactor(plugins): backend provides base and module properties with AppSubUrl
* fix(plugins): consider AppSubUrl for plugin logos
* fix(plugins): use isHostedOnCDN util when checking for cdn hosted plugins
* add new appSubURL field to config
* refactor relative URL func
* fix path for core app
* refactor asset path input
* fix(plugins): catch errors in loadPluginCss
* feat(plugins-cdn): selectively transform sourceMapURL
* re-add deleted test case
* chore(plugins): bump to latest systemjs@6.14.2
* feat(plugins): add systemjs-cjs-extra for loading commonjs plugins
---------
Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
* Add angularDeprecationUI feature toggle
* Add angular notice in angular panel header
* Show angular notice for angular datasources
* Show angular notice at the top of the dashboard
* Changed Angular deprecation messages
* Fix angular deprecation alert displayed for new dashboards
* re-generate feature flags
* Removed unnecessary changes
* Add angular deprecation dashboard notice tests
* Add test for angular deprecation panel icon
* Update test suite name
* Moved isAngularDatasourcePlugin to app/features/plugins/angularDeprecation
* Add hasAngularPlugins to DashboardModel
* re-generate feature toggles
* Fix tests
* Fix data source spelling
* Fix typing issues
* Extract plugin type into a separate function
* re-generate feature flags
* reportInteraction on angular dashboard notice dismiss
* re-generate feature flags
* Re-generate feature flags
* lint
* fix some event.target as stuff
* segment async story
* segmentinput story
* SegmentSelect
* fixing some tests
* more test fixes
* undo change to SilencesFilter
* Metrics summary
* Update query
* Remove colors
* Update states
* Add group by into its own component
* Add group by to search and traceql tabs
* Add spacing for group by
* Update span kind values
* Update span status code values
* Update query based on target + group by
* Cleanup
* Only add targetQuery if not empty
* Add kind=server to table
* Update groupBy query logic
* Add feature toggle
* Use feature toggle
* Self review
* Update target query
* Make gen-cue
* Tweak query
* Update states
* useRef for onChange
* Fix for steaming in search tab
* Add loading state tests
* metricsSummary tests
* Datasource tests
* Review updates
* Update aria-label
* Update test
* Simplify response state
* More manual testing and feedback from sync call
* Prettier and fix test
* Remove group by component from traceql tab
* Cleanup, tests, error messages
* Add feature tracking
* Updated toggletip to use strategy fixed, added tests and temporary story so it can easily be checked
* Added FocusScope restoreFocus and appropriate tests to toggletip
* Open toggletip in test for making sure focus remains when using escape
* Add aria-expanded to toggletip toggle child
* Added to temp story for Toggletip
* Remove focusScope for toggletip and handle focus restoration manually
* Remove toggletip temp story and add toggletip long content story
---------
Co-authored-by: joshhunt <josh@trtr.co>
`grafana-ml` was added to the `availableIconsIndex` object in
<commit> but no corresponding SVG was added, nor was the Icon
bundle updated.
This commit adds the real Grafana ML icon as gf-ml.svg, renames
the key in the availableIconsIndex accordingly, and updates the
Icon bundle using the documented script. Note that the name
was changed to `gf-ml` rather than `grafana-ml` because otherwise
the wrong directory is used (unicons rather than custom).
The main motivation for adding this is because plugin extensions
need to specify a valid icon name, and we want to use the Grafana ML
icon for our extensions, which requires the icon to be part of
core Grafana.
* Improve naming; fix tests
* Pass countWarning to titleItems
* Center warning text
* Revert variable name
* Switch from arrow function to direct assignment
* Add ability to make component controlled
* Replace remaining isOpen with collapsed
* Fix test; update story and docs
* Add test; add uncontrolled functionality
* Fix parsing absolute range
* Silence warning issued by moment js
* Introduce URLRangeValue to enforce better type-checking
* Fix unit tests
* Allow not passing range to generate ExploreUrl
* Use updated time range format in a test
* Allow empty object to be passed as a data link for backward compatibility
* Update mocks
* Post-merge fixes
* Simplify checking if range is passed as an empty object
* Update docs
* Add nested option to DataFrame. Refactor Table to use nested dataframes for sub-tables
* Use nested frames for TraceQL response
* debugging
* Fix cell text and table position
* Update getItemSize
* noHeader size
* Update sub table renderer
* Update table container height
* Cleanup and fix RawPrometheusContainer height
* Update resultTransformer and docker script
* Updates to TableContainer, resultTransformer after merge
* Fixes for table pagination in dashboards
* Cell height and show footer enhancement/fix
* Sub table links
* Update RawPrometheusContainer
* Remove console log
* Update tests
* Update storybook
* Remove Tempo demo
* Store nested data in single field via its values
* Move nested prop into custom
* Tempo demo
* Add field type & update incorrect logic
* Update docker compose image for Tempo
* Update packages/grafana-data/src/field/fieldOverrides.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Simplify logic for getting nestedFrames and rendering sub tables
* Update docs for table
* Update nested table bg color
* Lighten nested table bg color
* Renames
* Migrate frames using parentRowIndex and add deprecation notice
* Update title
* Align expander icon size between Table and interactive table
* Table: Refactor out the expanded rows bits
* fix spacing
* Add line along left side for expanded rows
* Disable hover row background when expanded
---------
Co-authored-by: André Pereira <adrapereira@gmail.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Add feature flag
* Introduce interface and dummy implementation
* Add tests for the new filter
* accessControlDashboardPermissionFilterNoFolderSubquery implementation
* join only if it's necessary
* force ordering for tests
* Temporarily enable new query for benchmarks
* Allow overriding internal data link supplier
* Remove SplitOpen and getFieldLinksForExplore dependencies
* Fix checking if row index is provided
* Fix unit test
* Add a comment
* Mark SplitOpen as deprecated
* Use Panel Context to provide internal data link supplier
* Update packages/grafana-ui/src/components/PanelChrome/PanelContext.ts
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
* Update packages/grafana-data/src/utils/dataLinks.ts
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
* Add missing eventsScope
* Fix infinite render loops
* Rename internal data link supplier to data link post processor
* Update packages/grafana-data/src/field/fieldOverrides.ts
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
---------
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Lucene: add dependency
* ModifyQuery: use Lucene parser to detect key:values in queries
* ModifyQuery: use Lucene parser to remove filters
* Remove test code
* Modify query: switch to recursive implementation
* Modify query: implement remove filter
* Update query normalizing function
* FlagElasticToggleableFilters: remove feature flag
* Remove unused feature flag from test
* Elasticsearch: escape quotes in filter values
* Collapsible PanelChrome v1
* Enable either Collapsible or HoverHeader modes
* Clean up
* Update story
* Add test
* Revert to 'strict'
* Use useToggle
* Allow collapsibility when title is not passed
* Fix semantics and ellipsis wrapping
* Improve accessibility
* Add documentation
"Release: Updated versions in package to 10.2.0-pre"
Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
* Geomap: Add network layer
* Support text labels for nodes
* Add solid styling for edges
* Remove symbol option for edge style menu
* Add support for edge text labels
* Fix linter issues
* Simplify multiple data frame handling
* Add TODO notes
* Add node and edge style categories for options
* Remove data frame hardcoding
* Hide legend, attempt to hide tooltip by default
* Mark network layer as beta
* refactor updateEdge
* Fix some linter issues
* Remove attempt at disabling tooltip for network layer
* For edge text add a stroke and increase z index
* Restrict field selection based on frame type
* refactor
* add basic bad data handling (prevent entire panel from breaking)
* generate non hard coded graph frames for style editor filtering
* code cleanup; remove hardcoded reference to "edges" frame
* fix select clearing for Data option
* fix styling
* fix lookup
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
* build httpsettings overhaul with new auth component
* remove test code
* add connection and advanced http settings components
* use tooltip with link
* add correct styling and spacing
* save option select for sigV4
* fix styles in Azure auth to fit new auth component
* add types in overhaul folder that are not available yet in grafana
* update e2e tests for new connection component
* update e2e tests for new connection component
* update width of azure inputs
* fix non custom auth selects
* add feature toggle
* wrap azure style changes behind the feature flag
* fix feature toggle rebase fix error
* move advanced http setting and wrap everything in the config subsection component to fix font
* fix input width
* use cx for conditional classes
* use cx for conditional class
* add a new feature toggle for locking down role sync for users managed by GCom
* protect the frontend and the backend using the new feature toggle
* fix merge
* Update public/app/features/dashboard/components/ShareModal/SharePublicDashboard/ConfigPublicDashboard/SettingsBar.tsx
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
* revert modal styling and add specific styling to Sharing
* Update public/app/features/dashboard/components/ShareModal/SharePublicDashboard/ConfigPublicDashboard/SettingsBar.tsx
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
* functions > const
* put a gat between all items in email config, instead of margins for each item
* fix html semantic elements
* ad theme to class component ShareModal
* add labels
* fix failing tests; now Settings has a summary and has to be opened to be able to see the On/Off toggles
* fix dashboard-public-create test with settings dropdown
* Remove feature flag from registry.go
* Remove usages of toggle
* Refactor and cleanup Tempo's query field components
* Added deprecation alert
* Mark nativeSearch fields as deprecated
* Also show deprecated search tab if queryType is nativeSearch
* Update deprecation message to list grafana version
* Fix merge conflict
* Remove mention of toggle from docs
* Azure: AzureMonitorMetrics - change response to be dataplane compliant
can be disabled via toggle azureMonitorDataplane
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
* adding a panel menu group item to UI extensions.
* draft
* Fixed so we support groups in the old panel menu.
* added proper styling.
* Made tests green and small refactor.
* Added tests for panel menu category.
* Will truncate the extensions category to 25 chars.
* added test for truncating category.
* Datasource test: fix describe nesting
* Parsing: export handleQuotes function
* Modify query: add functions to detect the presence of a label and remove it
* Loki: add support to toggle filters if already present
* Datasource test: fix describe nesting
* Loki: add support to toggle filter out if present
* Remove label: handle escaped values
* Datasource: add test case for escaped label values
* Loki: remove = filter when applying !=
* Remove selector: add support for Selector node being far from Matcher
* Modify query: add unit tests
* Elasticsearch: create modifyQuery for elastic
* Elastic modify query: implement functions
* Elasticsearch: implement modifyQuery functions in datasource
* Elasticsearch: update datasource test
* Loki modify query: check for streamSelectorPositions length
* Elasticsearch query has filter: escape filter value in regex
* Remove unused type
* Modify query: add functions to detect the presence of a label and remove it
* Remove label: handle escaped values
* Logs: create props to check for label filters in the query
* Log Details Row: use label state props to show visual feedback
* Make isCallbacks async
* Explore: add placeholder for checking for filter in query
* Datasource: define new API method
* Inspect query: add base implementation
* Remove isFilterOutLabelActive as it will not be needed
* Check for "isActive" on every render
Otherwise the active state will be out of sync
* Elasticsearch: implement inspectQuery in the datasource
* Logs: update test
* Log details: update test
* Datasources: update tests
* Inspect query: rename to analize query to prevent confusion
* Datasource types: mark method as alpha
* Explore: add comment to log-specific functions
* Remove duplicated code from bad rebase
* Remove label filter: check node type
* getMatchersWithFilter: rename argument
* Fix bad rebase
* Create DataSourceWithQueryManipulationSupport interface
* Implement type guard for DataSourceWithQueryManipulationSupport
* DataSourceWithQueryManipulationSupport: move to logs module
* hasQueryManipulationSupport: change implementation
`modifyQuery` comes from the prototype.
* DataSourceWithQueryManipulationSupport: expand code comments
* AnalyzeQueryOptions: move to logs module
* DataSourceWithQueryManipulationSupport: add support for more return types
* Fix merge error
* Update packages/grafana-data/src/types/logs.ts
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* DatasourceAPI: deprecate modifyQuery
* Explore: refactor isFilterLabelActive
* DataSourceWithQueryModificationSupport: rename interface
* Split interfaces into Analyze and Modify
* Query analysis: better name for interface
* Fix guard
* Create feature flag for active state
* Use new feature flag in Explore
* DataSourceToggleableQueryFiltersSupport: create a specific interface for this feature
* Rename feature flag
* De-deprecate modifyQuery
* DataSourceToggleableQueryFiltersSupport: Rethink types and methods
* Explore: adjust modifyQuery and isFilterLabelActive to new methods
* Loki: implement new interface and revert modifyQuery
* DataSourceToggleableQueryFiltersSupport: better name for arguments
* Elasticsearch: implement new interface and revert modifyQuery
* Loki: better name for arguments
* Explore: document current limitation on isFilterLabelActive
* Explore: place toggleable filters under feature flag
* Loki: add tests for the new methods
* Loki: add legacy modifyQuery tests
* Elasticsearch: add tests for the new methods
* Elasticsearch: add legacy modifyQuery tests
* Toggle filter action: improve type values
* Logs types: update interface description
* DataSourceWithToggleableQueryFiltersSupport: update interface name
* Update feature flag description
* Explore: add todo comment for isFilterLabelActive
---------
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* add a feature toggle
* add the fields for attribute, kind and identifier to permission
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* set the new fields when new permissions are stored
* add migrations
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* remove comments
* Update pkg/services/accesscontrol/migrator/migrator.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* feedback: put column migrations behind the feature toggle, added an index, changed how wildcard scopes are split
* PR feedback: add a comment and revert an accidentally changed file
* PR feedback: handle the case with : in resource identifier
* switch from checking feature toggle through cfg to checking it through featuremgmt
* don't put the column migrations behind a feature toggle after all - this breaks permission queries from db
---------
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* pushed to get help of a genius
* fix: error response is not json
* feat: make request on click
* refactor: remove print statement
* refactor: remove unnecessary code
* feat: convert grafana variables to value for API request
* use the parser to interpolate and recover the original query (#64591)
* Prettify query: use the parser to interpolate and recover the original query
* Fix typo
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Fix typo
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* fix: reverse transformation not working
---------
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Gareth Dawson <gwdawson.work@gmail.com>
* fix: bugs created from merge
* refactor: move prettify code out of monaco editor
* fix: variables with the same value get converted back to the incorect variable
* refactor
* use consistent styling with bigquery
* fix: only allow text/plain and application/json
* fix: only make the request if the query is valid
* endpoint now returns application/json
* prettify from js
* WIP: not all cases are handles, code still needs cleaning up
* WIP
* large refactor, finished support for all pipeline expressions
* add tests for all format functions
* idk why these files changed
* add support for range aggregation expr & refactor
* add support for vector aggregation expressions
* add support for bin op expression
* add support for literal and vector expressions
* add tests and fix some bugs
* add support for distinct and decolorize
* feat: update variable replace and return
* fix: lezer throws an errow when using a range variable
* remove api implementation
* remove api implementation
* remove type assertions
* add feature flag
* update naming
* fix: bug incorrectly formatting unwrap with labelfilter
* support label replace expr
* remove duplicate code (after migration)
* add more tests
* validate query before formatting
* move tests to lezer repo
* add feature tracking
* populate feature tracking with some data
* upgrade lezer version to 0.1.7
* bump lezer to 0.1.8
* add tests
---------
Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Datetime: Added more tests to the files in the datetime folder
* Updated tests suites according to feedback received
* Corrected the lint error
* Removed repetitive code
* Set active graph tooltip to front
* added zIndexOffset to Props
* Use className in TooltipPlugin
Co-authored-by: sjd210 <solomon.dubock@grafana.com>
* Change to UseStyles2 pattern
---------
Co-authored-by: Victor Marin <victor.marin@grafana.com>
Co-authored-by: sjd210 <solomon.dubock@grafana.com>
* Update dependency marked to v5
* add marked-mangle to preserve previous behaviour
* turn off headerIds
* also need to initialise mangle here
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>