* 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
* Refactor data tab to be usable from scenes
* DashboardScene: Inspect data tab
* Everything seem to work now
* don't change drawer size in this PR
* Remove uncommented code
* Fix layout issues for data actions
* Added comment explaining retry
* 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
* don't use legacy AC fallback for frontend access control checks
* extend tests
* more test fixes
* more test fixes
* more test fixes
* final test fix
* team test fix
* finally fix tests
* 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>
* baldm0mma/help_button/ force QueryOperationRow to expand on showHelp click
* baldm0mma/help_button/ remove comment
* baldm0mma/help_button/ add comment to onClose()
* baldm0mma/help_button/ remove useToggle for showing help
* baldm0mma/help_button/ remove comment
* baldm0mma/help_button/ update comment
* baldm0mma/help_button/ add full toggle control for parent of QueryOperationRow
* baldm0mma/help_button/ update inline comments
* baldm0mma/help_button/ update annos
* experiment: attempt to tag only UI devices
* lint frontend
* use await
* use shorthand check
* do not assume build info exists
* do not assume build info exists
* Apply suggestions from code review
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
---------
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
* 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
* update copy of ConnectionsRedirectNotice
The Connections page is not that new anymore
* extend NavLandingPage with optional header
* show ConnectionsRedirectNotice on Admin landing page
* make ConnectionsRedirectNotice dismissable
* make ConnectionsRedirectNotice informational
* Add a keyboard shortcut to toggle all exemplars
Sometimes it's hard to see the quantile line behind all the exemplars.
This commit adds a `d x` keyboard shortcut to toggle exemplar visibility
on all prometheus queries. Unlike with legends, the logic is simpler
and it does a pure toggle as opposed to "majority toggle" as with legends.
Since exemplars might not be loaded, this also requires refreshing the data.
For the same reason, toggling a single panel is not supported, as it will
make the panel data out of sync with the rest of the dashboard.
* Use "p x" to navigate to panel explore rather than just "x"
It's more consistent with other panel level shortcuts.
It also doesn't conflict with the global "x" to toggle exemplars that way.
* Use new NestedFolderPicker in SaveDashboardAsForm
* use FolderPicker wrapper in dashboard settings
* fix e2e test
* actually pass the deprecated props to the component
* just pass value
---------
Co-authored-by: joshhunt <josh@trtr.co>
* make unexpanded nested folder picker look like a select
* fix prefix icon
* placeholder style, only show input label if value selected
* aria-label
* text component
* first attempt at keyboard handling
* rename some things, handle escape
* better
* almost working
* cleaner
* remove aria-label
* add some extra unit tests
* remove onMouseUp
* fix typo
* use a switch instead of if/else
* ensure lsit items are prefixed with an id unique to the picker
* extract keyboard interactions out into custom hook
* wrap handleCloseOverlay in useCallback
* use redux state instead of filtering items
* I18N: Add browser language detector
* Improve style
* No new property for type check
* Add dependency
* Suggested doc change
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Fix prettier
* 'detect' as special language, no cache and only navigator detector
As per PR suggestion comments
* Update language configuration doc
* Suggested change in doc
From @chri2547
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Fix import
* Revert public/app/types/explore.ts changes
* Prettier write
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: joshhunt <josh@trtr.co>
* move options into overlay
* add some unit tests
* Update public/app/features/browse-dashboards/components/BrowseActions/MoveModal.tsx
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
* minor refactoring based on review comments
* just pass in uid
---------
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
* Allow setting role as None
Co-authored-by: gamab <gabi.mabs@gmail.com>
Seeking for places where role.None would be used
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
Adding None role to the frontend
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
unify org role declaration and remove from add permission
fix backend test
fix backend lint
* remove role none from frontend
* Simplify checks
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* nits
---------
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* Apply filters consistently to every list in the picker
* Display all built-in DS when editing a panel
* Add `uploadFile` prop to toggle the CSV file DS
* ContextSrv: No longer try to rotate token if we are using auth_token in url
Also extract the logic to check if we should schedule the job into its own function
* I18n:Mark up Permissions
* Mark up strings in Permissions file
* I18n:Mark up phrases for on Permissions drawer
* I18n:Mark up phrases for translation on Permissions page
* I18n:Mark up phrases for translation on Permissions page
* Made the changes based on suggestions received
* restore translations
* Run extract again
* refactor: modify interfaces to make tooltip or aria-label required
* refactor: change functionality around aria-label and tooltip
* refactor: change and add information in storybook documentation
* refactor: remove default from tooltip
* refactor: IconButton to make tooltip or aria-label required
* refactor: Fix tests
* refactor: Fix tests
* refactor: Fix tests
* refactor: Fix tests
* feat: add migration guide for breaking change
* feat: add latest requirements to storybook docs
* refactor: separate iconbutton story with and without tooltip
* refactor: remove exported baseArgs
* refactor: clean up and restructure original story
* refactor: adjust styling
* refactor: enable control for tooltip
* refactor: clean up
* refactor: enable control for aria-label
* refactor: fix theme getting the wrong theme
* refactor: fix tests
* refactor: adjust story
* refactor: remove confusing story
* refactor: adjust controls for stories
* this is an ok intermediate point
* delete some unused actions + fix tag invalidation on folder save
* remove prefetching for now (it creates a permanent subscription?!)
* leave paginated fetch out of rtk query for now
* ensure we're invalidating the cache correctly
* fix dashboard saving
* simplify
* recursively invalidate children on rename
* tidy up
* don't need to invalidate tags on delete
* don't need to invalidate on new either
* make new refreshParents action
* pageheader spacing
* invalidate getFolder on move
* bit of rearrangement
* Add option to make QueryEditor not collapsable
* Make QueryEditor not collapsable in Alerting
* Change query editor border to weak
The medium border is really only for inputs, everything else should use weak border
* Add tests
Make EchoSrvTransport batched
With the update of faro web sdk to 1.1.0, batching was introduced, in
which several telemetry signals can be grouped together in a fixed
interval or buffer length. The current setup in which the
EchoSrvTransport was proxying signals through the Echo Backend was
yielding the following issue.
The updated Fetch transport is batched but the way it was being used by
the `GrafanaJavascriptAgentBackend` was pushing single items.
* refactor: tooltip is required
* refactor: add tooltips
* refactor: add tooltips
* refactor: add tooltips
* refactor: add tooltips
* refactor: add tooltips
* refactor: add tooltips
* refactor: adjust tests
* refactor: apply changes from code review
* refactor: adjust component for e2e test
* refactor: adjust fallback
* refactor: apply changes from code review
* refactor: apply changes from code review
* refactor: set IconButton default as type=button and remove from use cases
* refactor: remove aria-labels when duplicated and type=button from use cases
* refactor: clean up
* refactor: fix tests
* refactor: fix type errors
* refactor: remove changes in order in order to add them to a separate PR
* refactor: set IconButton default as type=button
* refactor: remove tooltip
* refactor: apply changes requested in review
* loading states!
* fix uncontrolled checkbox
* cleaner css
* improve flickering title
* make sure @grafana/ui has the same version of react-loading-skeleton
* fix unit test + add tooltip text
* better way of restoring focus
* only restore focus when loading
* missing !
* use aria-label instead of tooltip
* add some information to the password change screen
* update threshold cause pa11y is stupid
* override the loginlayout title if changing password
* remove top padding from inner box
* remove i18n toggle
* remove beta badge on language picker
* remove toggle from go code
* Revert "remove beta badge on language picker"
This reverts commit 3b76300aa7.
* Add tracing config sub sections
* Export common sections and update divider in additional settings section
* Max width and margin bottom
* Add feature name to config link
* Update SpanBarSettings
* remove import
* initial attempt at inline rename
* handle version correctly
* refactor
* minor tweaks
* add unit tests
* prettier...
* add to other tabs, remove settings tab when feature toggle is enabled
* fix truncation
* allow title to span full width of page
* fix h1 styling when no renderTitle/onEditTitle is present
* better layout
* use input from grafana/ui, fix imports
* fix unit test
* better error handling
* don't use autosavefield
* undo changes to AutoSaveField
* remove timeout
* remove maxWidth now we're not using AutoSaveField
* rename isEditInProgress to isLoading
* sync localValue with value
* better responsive css
* feat: add default properties to the `reportInteraction()`
* chore: add more tracking events to the ds-config page
* refactor: adding the `path` to the `meta` instaed
* Wip
* remove name input from page body
* render title & subTitle in datasource page in connections and remove unused prop - uid
* styling on actions button group
* remove unused props in edit datasource page
* set gap as 8px between buttons
* move editable datasourcename to the header
* add subTitle component
* remove useRef and use autoFocus prop
* pass false to isDefault when dataSource is undefined
* change button text
* remove suffix icon
* remove unused import - Icon
* consolidate duplicate useDataSourceSettingsNav into datasrouces hook
* move dataSource context to useDataSourceSettingsNav
* remove Explore button in the footer
* remove unused props
* fix failing test on button group
* fix typo on file naming
* remove disabled prop
* fix param
* add test
* add test files
* disable editing title in readOnly provision datasource
* update name should save dataSource
* prevent swith toggle change from label clicking and change margin
* update tooltip message
* use datasource update on header instead of state update
* remvoe subTitle component and move subTitle component next to page Info component
* Added title
* remove subTitle in buildNavModel
* replace Button with Badge
* make datasourceheader as a component
* horizontal gap of 24px between pageInfo and actions components
* align page Info value items
* accept react node as page info label and add tooltip to Default item
* update navId for edit datasource page in connections
* update unit testing for Title
* fix gen_que
* betterer
* prettier fix
* fix e2e test
* add data-testid to nameEditIcon selector
* fix tooltip text
* fix navId for connections datasources edit page
* fix e2e selector: change autoSizeInput to Input
* adding ellipsis to EditDataSourceTitle
* override grafana-ui titleContainer h1 styles
* UI cleanup and apply readOnly to default datasource switch
* add period
* datasource name validation
* title and page info alignment
* add feature toggle - dataSourcePageHeader
* restore basicSettings component and apply feature toggle
* go lint
* Revert "title and page info alignment"
This reverts commit 681ac51f11.
* remove editable fields from page Header - name, default datasource switch
* fix go test: toggle generator
* remove test id
* remove alerting badge in BasicSettings component
* Revert "remove alerting badge in BasicSettings component"
This reverts commit fb33ff9028.
* feature toggle on alerting badge
* rename component & filename
* move DataSourceInfo type
* change button to link in test
---------
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Miguel Palau Zarza <mpalauzarza@gmail.com>
* Center align cell items
* Change empty folder message + style
* Use new Text components in TypeCell
* Use new components in Move and Delete modals
* fix test
* Change spinner in DescendantsCount to the same font size as the text to prevent layout shift
* move permissions to a drawer when nested folders is enabled
* only show count when resource is folder
* Extract descendant count out into its own component
* remove label
* Logs: Fix duplicate uids by appending series refIds
* Fix id generation in loki live streams to be consistent
* Update public/app/core/logsModel.ts
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Fix test
---------
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Elasticsearch: Fix passing of limit and datalinks to logs data frame
* Update public/app/core/logsModel.ts
Co-authored-by: François Massot <francois.massot@gmail.com>
---------
Co-authored-by: François Massot <francois.massot@gmail.com>
* update FolderDTO to match backend struct
* hacky way to get folder page breadcrumbs working
* hacky way to get dashboard nested breadcrumbs working
* undo route changes, get url from folder
* fix breadcrumbs in dashboard settings
* add parent pages to navIndex
* adjust getRootSectionForNode to just return the parent of a leaf node
* undo changes to generated files
* undo changes to toggles_gen.go
* feature toggle dashboardInit code
* remove unnecessary code in home dashboard
* build navModel directly, don't use getNavModel
* don't need fallback here
* remove getLoadingNav since it's not used anymore
* don't need to hide tabs from breadcrumbs anymore
* use id to find dashboards tab
* adding load time metrics for app init.
* chore: add the `metrics.ts` to the CODEOWNERS
* moved file according to PR feedback.
---------
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* user essentials mob! 🔱
lastFile:public/app/core/components/AppChrome/AppChrome.tsx
* user essentials mob! 🔱
lastFile:public/app/core/components/AppChrome/AppChrome.test.tsx
* only show skiplink when page has app chrome
---------
Co-authored-by: Joao Silva <joao.silva@grafana.com>
* Drawer: Introduce drawer size that sets width and min-width
* media queries
* Change large drawer to 75%
* Change news drawer to medium as the news items have better layout then with images on the side
* Tweaks and fixed inline drawer issue
* review fixes
* Deprecate inline, update mdx docs
* remove inline var
* BackendSrv: Restrucutre response stream to resolve a retried request
correctly
* BackendSrv: Get signed in property from user
* Fix test with correct number of calls
* To prevent retry we need to throw error
* Fix tests
* revert change
* Fixes to token rotation
* Align tests
* Remove commented out code
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
* - initial work on data source config page
* - add links to test status box
- add tracking function
* - add test for the DataSourceConfigAlert component
* - fix flicker of the alert box
* - fix the build
* - small improvements
* - fix failing build
* - fix failing unit tests
* - prettier and betterer fixes
* - fix failing e2e tests
* - fix build again
* - rewrite solution according to the PR comments
* - cleanup
* - fix failing e2e
* - use absolute path in link
* Minor fixes
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Draft: Feature: Trusted Types support
* remove trusted-types package
* Create policy before jQuery and Angular is loaded and add feature flag
* Add trustedTypePolicies
* Sanitize scriptURL
* Add TT meta tag for test env
* Move trusted types into core
* Add DOMParser support for TrustedHTML
* Seperate RSS sanitization and add better TrustedHTML support
* Get test CSP header from config
* Remove dompurify dep from core
* Add documentation for trusted types
* Apply suggestions from code review
Co-authored-by: Kristian Bremberg <114284895+KristianGrafana@users.noreply.github.com>
* Add comment about Github discussion thread and things breaking
* Remove changes from News panel
* Remove TT feature toggle
* Expose TT and CSPReportOnly to frontend
* Log errors in console when CSP report only is enabled
* Log error for reporting and remove test mode
* Only insert CSP header in HTML for dev env
* Update docs
---------
Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
* remove old page component
* add test to check initDashboard is only called once (prevent variables loading twice)
* add help node
* update unit tests
* remove last mentions of topnav
* fix unit tests
* remove unused props from ButtonRow interface
* remove prop from test
* remove metadata for single folder listing
* extendTests
* remove ac metadata from dash and folder search results
* remove test
* remove one more test
* put ac metadata back for single folder API responses
* extend tests
* remove ac metadata from folder frontend object
* undo unneeded change
* PR feedback
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* Dashboard: Add series color shades
Add color option "Shades of a color" which gives each series a color derived from a user-selected base color.
* Documentation: Add entry for color shades
Describe color option "Shades of a color" in documentation.
* Chore: formatting fixes
* Dashboard: Use better fallback color for color shades in fieldColor.ts
Fall back to a gray color if the configured color cannot be parsed.
* Chore: fix typo in fieldColor.test.ts
* Documentation: fix a sentence
* remove custom color parsing and change logic a bit
* Fix prettier issue
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
* Add initial authentication config page skeleton
* Add initial SAML config page WIP
* Add few more pages
* Add connect to IdP page
* Assertion mappings page stub and url params
* Able to save settings
* Some tweaks for authentication page
* Tweak behaviour
* Tweak provider name
* Move SAML config pages to enterprise
* minor refactor
* Able to reset settings
* Configure key and cert from UI
* Refactor WIP
* Tweak styles
* Optional save button
* Some tweaks for the page
* Don't show info popup when save settings
* Improve key/cert validation
* Fetch provider status and display on auth page
* Add settings list to the auth page
* Show call to action card if no auth configured
* clean up
* Show authentication page only if SAML available
* Add access control for SSO config page
* Add feature toggle for auth config UI
* Add code owners for auth config page
* Auth config UI disabled by default
* Fix feature toggle check
* Apply suggestions from review
* Refactor: use forms for steps
* Clean up
* Improve authentication page loading
* Fix CTA link
* Minor tweaks
* Fix page route
* Fix formatting
* Fix generated code formatting
* scaffold new browse routes
* a part of rtk query
* load nested data
* .
* link nested dashboards items
* add comment about bad code, update codeowners
* tidies
* update react 18 related deps
* fix some types
* make sure we're on react-router-dom >= 5.3.3
* Use new root API
* Remove StrictMode for now - react 18 double rendering causes issues
* fix + ignore some @grafana/ui types
* fix some more types
* use renderHook from @testing-library/react in almost all cases
* fix storybook types
* rewrite useDashboardSave to not use useEffect
* make props optional
* only render if props are provided
* add correct type for useCallback
* make resourcepicker tests more robust
* fix ModalManager rendering
* fix some more unit tests
* store the click coordinates in a ref as setState is NOT synchronous
* fix remaining e2e tests
* rewrite dashboardpage tests to avoid act warnings
* undo lint ignores
* fix ExpanderCell types
* set SymbolCell type correctly
* fix QueryAndExpressionsStep
* looks like the types were actually wrong instead :D
* undo this for now...
* remove spinner waits
* more robust tests
* rewrite errorboundary test to not explicitly count the number of renders
* make urlParam expect async
* increase timeout in waitFor
* revert ExplorePage test changes
* Update public/app/features/dashboard/containers/DashboardPage.test.tsx
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* skip fakeTimer test, ignore table types for now + other review comments
* update package peerDeps
* small tweak to resourcepicker test
* update lockfile...
* increase timeout in sharepublicdashboard tests
* ensure ExplorePaneContainer passes correct queries to initializeExplore
* fix LokiContextUI test
* fix unit tests
* make importDashboard flow more consistent
* wait for dashboard name before continuing
* more test fixes
* readd dashboard name to variable e2e tests
* wait for switches to be enabled before clicking
* fix modal rendering
* don't use @testing-library/dom directly
* quick fix for rendering of panels in firefox
* make PromQueryField test more robust
* don't wait for chartData - in react 18 this can happen before the wait code even gets executed
---------
Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Align log volumes on x an y axes
* Move helper functions to logs/utils
* Add tests
* Simplify supplementaryQueries.ts
* Fix tests
* Revert code simplifications
To simplify the PR, this can be added in a separate PR
* Fix reusing logs volume when limited/non-limited are used
* Use more specific property name
* Add missing property
* Stretch graph to selected range but only if there's data available
* Fix unit tests
* Fix calculating maximum when bars are stacked
* Sort log volumes by data source name
* Simplify logic to determine if log volumes can be zoomed in
* tracing: show backend trace ids in frontend
* better trace id naming
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* better trace id naming
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* better trace id naming
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* added feature flag
* bind functionality to the feature flag
* use non-generic name for traceid header
* fixed tests
* loki: do not create empty fields
* do not add empty fields
* fixed graphite test mock data
* added unit-tests to queryResponse
* added unit-tests for backend_srv
* more typescript-friendly check
* added unit-tests for runRequest
---------
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>