* I18N: Add Core Lingui framework for translating the UI
* Make FieldSet accept ReactNode for the label, so it can be translated
* Translate a phrase in the User profile edit form
* Translate phrase
* run lingui compile before webpack builds
* init i18n more lazily
* i1n:compile in drone lint step
* wip for getting tests to work
* Use mock lingui/macros because its too hard to use the real macros in Jest...
* mock messages for tests
* use specific lingui version
* add comment for test helper
* we actually don't need the i18n setup in tests because we mock out <Trans />
* update package.json
* remove unneded imports
* revert back babel core version
* Create a I18nProvider wrapper
* AccessControl: Provide scope to frontend
* Covering datasources with accesscontrol metadata
* Write benchmark tests for GetResourcesMetadata
* Add accesscontrol util and interface
* Add the hasPermissionInMetadata function in the frontend access control code
* Use IsDisabled rather that performing a feature toggle check
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
* WIP: move user/using api call to redux
* WIP: use redux instead in NewOrgPage component
* moved all the createOrg logic into redux
* type the redux state and action creators automatically
* adds test for setUserOrganization thunk
* update selectOrgPage to use Redux instead
* removes unnecessary dispatch call
* Add basic implementation
* Split import/export query interface
* Rename abstract query type
* Rename abstract query type
* Split loki/prom parsing
* Update docs
* Test importing abstract queries to Elastic
* Test exporting abstract queries from Graphite
* Test Prom and Loki query import/export
* Give better control to import/export all queries to data sources
* Fix unit test
* Fix unit test
* Filter out non-existing labels when importing queries to Loki
* Fix relative imports, names and docs
* Fix import type
* Move toPromLike query to Prometheus code
* Dedup label operator mappings
* importAbstractQueries -> importFromAbstractQueries
* Fix unit tests
* Added Microsoft.Cdn/profiles to Azure Monitor Plugin
Microsoft.Cdn/profiles is the Azure Front Door Standard/Premium resource which is not present in the supported namespaces. I would like to use this with Grafana.
* Azure Monitor: Added CDN WAF namespace
Added Microsoft.Cdn/cdnwebapplicationfirewallpolicies
Ensured both Microsoft.Cdn/cdnwebapplicationfirewallpolicies and Microsoft.Cdn/profiles are available in all azure clouds
* StateTimeline: Fix toolitp not showing when for frames with multiple fields
* Update public/app/plugins/panel/state-timeline/StateTimelinePanel.tsx
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Update public/app/plugins/panel/state-timeline/StateTimelinePanel.tsx
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Update public/app/plugins/panel/state-timeline/StateTimelinePanel.tsx
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* chore(storybook): bump dependencies to 6.4.4
* chore(yarn): update packageExtensions to match latest storybook
* fix(storybook): get webpack builds to pass
* fix(storybook): theme switching works in docs
* fix(storybook): use text logo so accessibility link doesnt break layout
* 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
* Navigation: Start creating new NavBarMenu component
* Navigation: Apply new NavBarMenu to NavBarNext
* Navigation: Remove everything to do with .sidemenu-open--xs
* Navigation: Ensure search is passed to NavBarMenu
* Navigation: Standardise NavBarMenuItem
* This extra check isn't needed anymore
* Navigation: Refactor <li> out of NavBarMenu
* Navigation: Combine NavBarMenuItem with DropdownChild
* use spread syntax since performance shouldn't be a concern for such small arrays
* Improve active item logic
* Ensure unique keys
* Remove this duplicate code
* Add unit tests for getActiveItem
* Add tests for NavBarMenu
* Rename mobileMenuOpen -> menuOpen in NavBarNext (since it can be used for mobile menu or megamenu)
* just use index to key the items
* Use exact versions of @react-aria packages
* Navigation: Make the dropdown header a NavBarMenuItem
* Navigation: Stop using dropdown-menu for styles
* Navigation: Add react-aria relevant packages
* Navigation: Refactor NavBarDropdown to support react aria
* Navigation: apply keyboard navigation to NavBar component
* Navigation: UseHover hook for triggering submenu on navbar
* Navigation: rename testMenu component to NavBarItemButton
* WIP
* some hacks
* Refactor: clean up keybinding events
* Navigation: render subtitle on item menu and disable it
* Navigation: Adds react-aria types (#42113)
* Refactor: refactor out to NavBarItemWithoutMenu
* Refactor: cleaning up stuff
* Refactor: comment out unused code
* Chore: Removes section and uses items only
* Chore: fix NavBarNext
* Chore: adds tests
* Refactor: minimize props api
* Refactor: various refactors
* Refactor: rename enableAllItems
* Refactor: remove unused code
* Refactor: fix clicking on menuitems
* Refactor: use recommended onAction instead
* Navigation: Fix a11y issues on NavBar
* Navigation: Fix a11y navBar Next
* Navigation: Remove unnecessary label prop, use link.text instead
* Apply suggestions from code review
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Apply unit tests suggestions from code review
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Update react-aria/menu package to latest version and apply PR suggestion
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Update jest monorepo
* Update version of marked so it doesn't throw an error, set testEnvironment
* Fix some unit tests
* Remove all these tests that aren't actually working...
* use spyOn instead of mocking the whole module
* Fix linting
Co-authored-by: Renovate Bot <bot@renovateapp.com>
* Pass timezone to graph in Explore
* Fix timezone issues for table
* Fix type error
* Update public/app/features/explore/TableContainer.test.tsx
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Replace UTC with InternalTimeZones
* Update CEST to cest
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* add support for code editor and builder
* refactor cloudwatch migration
* Add tooltip to editor field (#56)
* add tooltip
* add old tooltips
* Bug bash feedback fixes (#58)
* make ASC the default option
* update sql preview whenever sql changes
* don't allow queries without aggregation
* set default value for aggregation
* use new input field
* cleanup
* pr feedback
* prevent unnecessary rerenders
* use frame error instead of main error
* remove not used snapshot
* Use dimension filter in schema picker (#63)
* use dimension key filter in group by and schema labels
* add dimension filter also to code editor
* add tests
* fix build error
* fix strict error
* remove debug code
* fix annotation editor (#64)
* fix annotation editor
* fix broken test
* revert annotation backend change
* PR feedback (#67)
* pr feedback
* removed dimension filter from group by
* add spacing between common fields and rest
* do not generate deep link for metric queries (#70)
* update docs (#69)
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
* fix lint problem caused by merge conflict
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Tracing: Update incorrect span fix based on review feedback
* Prometheus: Use this.query for health check
* Revert "Prometheus: Use this.query for health check"
This reverts commit 4c1a6a92a5.
* PanelDataError: Show actions when current panel cannot visualize data
* Fixed so that suggestions tab is opened from action
* Cleanup
* Fixed tests
* Fix tests
* Fixing tests
* Fixed ts issues
* Limit number of suggestions displayed in Graphite dropdowns
* Use limit API to reduce number of loaded tags for autocomplete
* Make tests more explicit
* Update sentry-javascript monorepo to v6
* Pass fetch implementation to FetchTransport and stub in unit tests
* kick drone
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* feat(catalog): introduce defaultTab to usePluginDetailsTabs hook
* feat(catalog): use defaultTab as fallback tab for PluginDetails
* chore(catalog): remove hardcoded page query param in list items
* refactor(catalog): prefer let over react ref when setting default tab in PluginDetails
* refactor(catalog): pass pageId to plugin details body rather than duplicate logic
* test(catalog): remove query param from List item test hrefs
* test(catalog): introduce a test for default app config page for installed app plugins
* Update dependency react-select to v5
* Remove @types/react-select and update types accordingly
* Fix all unit tests
* Add @ts-expect-error to individual errors, remove prefix as it doesn't seem to exist?
* Another minor typescript fix
* Apply fixes from torkel's PR
* Fix last typescript error
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Elasticsearch: Display custom values in version select
* Update public/app/plugins/datasource/elasticsearch/configuration/ElasticDetails.tsx
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* add value to email template
* add value to default template
* update test string
* test: fix ngalert test suite
* test: run CI
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
* refactor(plugins): use routes specific to the new plugins/admin
* refactor(plugins): remove unused pages (PluginList, PluginItem)
* refactor(plugins): remove PluginPage
* refactor(plugins): remove UpdatePluginModal
* refactor(plugins): move AppConfigWrapper under plugins/admin
* refactor(plugins): move PluginDashboards under plugins/admin
* refactor(plugins): rename the "specs" folder to "tests"
* refactor(plugins): move test files to /tests folder
* refactor(plugins): move AppRootPage into a /components folder
* refactor(plugins): move PluginsErrorsInfo into a /plugins folder
* refactor(plugins): move PluginSettingsCache into a /components folder
* refactor(plugins): move PluginStateInfo into a /plugins folder
* refactor(plugins): move AppRootPage.test.tsx next to the tested component
* refactor(plugins): remove old snapshot tests
* fix(plugins): fix tests
* refactor(plugins/admin): move & rename PluginSettingsCache
* fix(plugins): fix a few rebase issues
* Plugins: remove deprecated code (state handling) (#41739)
* refactor(plugins): use the plugins/admin reducer only
* refactor(plugins): remove tests for the deprecated plugins reducer
* refactor(plugins): remove tests for the deprecated plugins selectors
* refactor(plugins/state): add a short comment note to selectors
* feat(plugins/state): add a selector for selecting errors
* feat(plugins/state): add a hook for getting plugin errors
* refactor(plugins): udpate the PluginsErrorsInfo component to use the new state selectors
* refactor(plugins/state): remove the old (deprecated) selectors
* refactor(plugins/state): use the new actions under /admin
* refactor(plugins/state): remove old (deprecated) reducers and actions
* refactor(plugins): update component definition
* fix(plugins): remove unnecessary {children} prop for PluginsErrorsInfo
* Plugins: show / hide install controls based on the `pluginAdminEnabled` flag (#41749)
* docs(plugins): update documentation for the `plugin_admin_enabled` flag
* refactor(InstallControls): move the main component to a named module
* feat(plugins): use the `pluginAdminEnable` flag to hide / show install controls in the UI
* test(plugins): add tests for enabling/disabling install controls
* use role groups in role picker UI
* Update public/app/core/components/RolePicker/RolePickerMenu.tsx
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
* AccessControl: FGAC permissions for orgs endpoint on frontend
Protect org update endpoints
add or refactor missing right messages
cover org page
* removing scopes from orgs
* Perform permission control with global org
* Perform the error handling in case of 403
* Simplify frontend code by requiring read access for sure
* Remove roles I added to decrease the number of changes
* Remove the check for server admin to reduce the number of changes
* change error message
* Cleaning todos
* Remove unecessary changes
* Fix tests
* Update test snapshot
* Update pkg/api/roles.go
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
* Update public/app/features/admin/AdminEditOrgPage.tsx
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
* Format AdminEditOrgPage for linting
* Update public/app/features/admin/AdminEditOrgPage.tsx
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
* Update public/app/features/admin/AdminEditOrgPage.tsx
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
* Update public/app/features/admin/AdminListOrgsPage.tsx
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
* Commit suggestions
* Commit suggestion canRead canWrite
* fix typo
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
* refactor(plugins): add empty line between methods
* feat(api): add an API function for updating plugin settings
* feat(plugins): add a "getting started" guide for enabling / disabling app plugins
* test(plugins/admin): add tests for enable/disable functionality
* refactor(plugins/admin): update the name of the test cases
Now that we have multiple type of post-installation steps it probably makes sense.
* Dashboard: Update check for current panel
* Get datasource name as before
* Update public/app/plugins/datasource/dashboard/DashboardQueryEditor.tsx
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* import SHARED_DASHBOARD_QUERY
* Add some unit tests
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>