* WIP
* Finish getting form to populate
* WIP API
* Get PUT to work although the edit doesnt apply yet
* Complete working PUT
* PATCH v1 no json patch
* This works!
* Fix headers to be configurable
* Fix translations
* Revert "This works!"
This reverts commit d57ffcbc4b.
# Conflicts:
# public/app/features/query-library/api/factory.ts
# public/app/features/query-library/api/query.ts
# public/app/features/query-library/types.ts
* Use normal method of patching 😅
* Replace add to library form with generic version
* make translations generic
* Rename function, fix bad conflict resolution
* PluginDetailsRight panel is added. All the details were moved from the top to the right panel
* Add feature toggle pluginsDetailsRightPanel,Fix build, fix review comments
* Fix the typo
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
* hasAccessToExplore
* changes after review, add translations
* fix betterer
* fix betterer
* fix css error
* fix betterer
* fix translation labels, fix position of the right panel
* fix the build
* add condition to show updatedAt for plugin details
* add test to check 2 new fields at plugin details right panel;
* change the gap and remove report abuse button from core plugins
* add more tests
---------
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
* GOps: Setup support FullStory in the IRM configuration tracker
* fix: improve fs-unmask class application
* fix: remove extrtag as requested in PR review
* fix: revert extratag removed since it affects UI alignment
* fix: wrap text with trans component as betterer ask
* fix: update extraction
* minor performance improvement
* apply a warning to any non-core plugins that successfully migrate
* commit frontend wip while I refactor some stuff
* update api
* repurpose error dialog to be a generic details dialog
* whitespace
* add unit test
* fixes from testing
* fix migration summary
* add comment
* fix localization stuff
* fix backend test
* reduce number of queries to the db
* some PR feedback
* whitespace
* Add roadmap links to connection tab
* move to its own component
* add roadmaplinks to the catalog browse page
* use trans for text
* Change TextLink to accept ReactNode
* use Space component
* Add translations
* Add clear and reset onBlur
* use selectItem
* Use downshift hooks instead
* Fix Clear bug and extract i18n
* Remove useMemo from story
* Add loading state to many options story
* Set fallback to null
* Fix unused import
* Use onBlur and pass it to Downshift instead
* wip
* Add save functionality to query row
* add success conditional
* move around translations
* Add translations
* Add key to fix test
* Add key to the right spot
* define specific save button
* WIP - Use RowActionComponents to add action without modifying the core component
* Only add component once on render
* Move logic to main explore page
* Add keyed render actions to prevent redundancy, use this to add keyed action
* Overcome the forces of dayquil to attempt to make actual sense
* Add scoped actions to query action component
* Spaces not allowed in generateName
* Implement UI for grafana-managed recording rules
* use undefined for the duration instead of null , for recording rules
* Fix tests
* add tests
* Add pause functionality for grafana recording rules
* update translations
* remove obsolete snapshot
* use createUrl instead of renderUrl
* refactor
* Add validation for grafana recording rule name
* create util functions for rule types and add record field in mock function
* add util isDatatSourceManagedRuleByType
* refactor
* Add metric field in alert rule form
* fix alert name component
* update width for alert name and metric
* fix test
* add validation back to cloud recording rules name
* Alerting: Recording rules PR review (#90654)
Update type helper methods
* add slash in createUrl
* fix baseurl in the returnTo
* nits
* Add metric on expanded row in the alert list view
* nits
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
* update snapshot
---------
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
* add groop as a local dependency
* update layout
* nested layout with panels
* fix the height of the rows
* copy groop library into grafana/grafana
* Don't create a new scene everytime metrics refreshed
* Add display option dropdown
* handle different layout options in buildLayout
* add select component props
* unify scene body creation
* handle other display cases in refreshMetricNames
* set a new body when display format is different
* handle nestedScene population
* show nested groups
* handle panel display
* add tabs view
* populate tabs view
* show selected tab group
* show display options before metric search
* populate prefix filter layout
* only switch layout for nested-rows display option
* Update public/app/features/trails/groop/parser.ts
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
* Update public/app/features/trails/groop/parser.ts
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
* Update public/app/features/trails/MetricSelect/MetricSelectScene.tsx
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
* Update public/app/features/trails/MetricSelect/MetricSelectScene.tsx
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
* Remove tab view
* generate groups async
* Remove unnecessary parts
* Refactor
* implement urlSync
* update keys
* introduce interaction
* ui updates
* chore: revert some auto formatting to clarify comments
* chore: revert some auto formatting to clarify comments
* rename
* add tooltip
* add styles
* update unit tests
* make i18n-extract
* update unit test
---------
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>
* Navigation: Show list of pinned ites on the navigation
* Rename section to 'Bookmarks'
* Internationalization
* Rename everything to bookmarks
* Update public/app/core/reducers/navBarTree.ts
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Ignore empty message as well
* Dont update navigation if there is an error patching
---------
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* fix: display metric name suffix instead of unknown
* chore: add documentation comment; remove unecessary text
* fix: create helper function getUnitFromMetric()
* refactor: make getUnitFromMetric() not use getUnit, return null if unable to identify unit
* test: add test for getUnitFromMetric()
* chore: add documentation comments to functions that get unit
* chore: add comment for tests
* chore: fix imports
* fix: display if unable to determine metric
* Update public/app/features/trails/ActionTabs/MetricOverviewScene.tsx
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
* fix: update the translation files for drone
---------
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
* use variable state for loading labels
* UI fix for missing metadata fields
* remove extra space
* add <Trans> for betterer
* import Trans from core, this will need to be addressed when we externalize explore metrics
* make i18n-extract for drone
* Implement EventDetails for expanded rows and pagination on the events list
* Add test for getPanelDataForRule function
* prettier
* refactor EventState component
* create interfaces for props
* Add missing translations
* Update some comments
* Add plus button in alertrulename , to add it into the filter
* Add plus button to add filters from the list labels and alert name
* Add clear labels filter button
* run prettier
* fix RBAC checks
* Update AlertLabels onLabelClick functionality
* add limit=0 in useCombinedRule call
* Add filter by state
* remove plus button in labels
* Fix state filter
* Add filter by previous state
* fix some errors after solving conflicts
* Add comments and remove some type assertions
* Update the number of transitions calculation to be for each instance
* Add tests for state filters
* remove type assertion
* Address review comments
* Update returnTo prop in alert list view url
* Update translations
* address review comments
* prettier
* update cursor to pointer
* Address Deyan review comments
* address review pr comments from Deyan
* fix label styles
* Visualize expanded row as a state graph and address some pr review comments
* Add warning when limit of events is reached and rename onClickLabel
* Update texts
* Fix translations
* Update some Labels in the expanded states visualization
* move getPanelDataForRule to a separate file
* Add header to the list of events
* Move HistoryErrorMessage to a separate file
* remove getPanelDataForRule function and test
* add comment
* fitler by instance label results shown inthe state chart
* remove defaults.ini changes
* fix having single event on time state chart
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* refactor: add translatable elements and confirmation text
* refactor: add translatable element
* refactor: add translatable element
* refactor: run i18n extraction
* refactor: add translatable elements
* First pass at using new async apis
* async api tweaks
* clean up async api usage
* Update public/app/features/migrate-to-cloud/onprem/Page.tsx
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Update public/app/features/migrate-to-cloud/onprem/Page.tsx
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* fix syntax
---------
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Adding new export button
* Create Export as JSON drawer
* update scene drawer and add css
* update css
* Update ExportAsJson to be regular react component
* add tests to export menu and button
* add tests
* prettier and lint
* fix translations
* update translation
* Apply suggestions from code review
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
* delete extra file
* Update to use SceneObject
* add spinner
* Rename ExportAsJSON.tsx to ExportAsJson.tsx
* update i18n
* Upate texts
* small fixes from code review
* add space
* i18n
* fix build issues
* changes from review feedback
* update test
* update test
---------
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
* Use runtime data source for getting events from alert state history in the bar chart
* extract translations
* refactor
* More refactor
* Update events limit
* Add info icon with tooltip info for label querying filter
* Add translations
* Create new useRuleHistoryRecords hook skipping extraction of common labels as they are not used
* Fix test
* update limit value for the events in the api to 5000
* Use state for rows key
* remove React import
* Address review comments
* Address review comments
* run prettier
* Remove duplicated handlers
* RecentlyDeleted: Show hard delete date
* format date
* don't crash when <60 minutes
* tooltip
* reimplement course duration
* oops fixed missed units
* cleanup
* WIP
* Add barchart panel with scenes
* Fix timerange in barchart panel
* Refactor: component names
* Remove not used css styles and rename panel title
* Remove unnecessary HistoryEventsListObject class and update text in labels filter
* add padding top for filter
* Add translations
* update limit labels constant
* Update showing state reason
* Fix scene object
* Address review comments
* Update icons
* use endpoints instead of the autogenerated hook
* Address review comments
* Add tooltip for alert name
* use private polling interval
* fix autogenerated translations
* Address pr rewview comments
* Address review comments
* Update text in placeholder
* Rename variable and remove spaces in Trans children
* Scenes: Add support for viewing variable dependency graph in settings
* Fix failing e2e test
* Add test for createDependencyNodes/Edges
* Refactor for better separation between old architecture and scenes
* Add internationalization
* run maker
---------
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
* wip: working version
* add delete buttons, put pinned logs on top,
* Use already available onPinLine prop
* cleanup
* Fix alignment of pinned log
* Limit to 3 pinned log lines
* Format tooltip message
* Lower to font size and adjust padding so pinned log title is fully visible
* Add internationalization support in Explore Logs
* Update json for i18n
* Test remove button
* Open content outline after pinning a log
* Remove console.log statements
* Minor changes
* Conflict stuff
* Remove role requirement for editing silence (instead handled by silence editor displaying error)
* Send query params for metadata/access control silence logic
* Add new access control types to enum
* Add folder-specific checks for silences
* Remove filtering in alert manager picker
* fix flakey rule viewer test and update permissions helper
* Use `returnTo` in rule viewer page
* Fix incorrect display of duration
* Clean up some mock server behaviour in rule details tests
* Tweak styles for silences alerts table
* Remove alertmanager picker from silences drawer
* Add error if user cannot edit a silence
* Show alert rule name in silences table and consume RBAC logic
* Update mocks to include RBAC access control logic
* Update silences tests
* Update silences type to include access control info
* Update comment for missing alertmanager
* Update mock handlers and query param logic
* Tweak query params again
* Update access control mock
* Revert AM picker fix as user may not have access to Grafana AM
* Swap ternary order
* Change text for no alert rule targeted
* Don't show error alert from RTKQ query and remove alert instance preview in case of error
* Add missing translations
* Fix test adding missing mock for getting alert rule
* Add missing translations in SilencesTable
* Add translations autogenerated files
* fix allowing edit silence in external alert manager
---------
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
* feat: add search input and filters
* feat: add state management v0
* feat: update search view and add to trash page
* refactor: fix some errors
* feat: page population
* feat: fix error
* Run betterer checks locally
* Run i18n abstraction
* refactor: clean up after merging main
* refactor: clean up after merging main
* Run i18n abstraction
* refactor: remove browse view
* I18n: Change verify-i18n script to use node_deb image with make in it
* remove swagger from i18n make
* make verify-i18n fail ci
* fix incorrect and unextracted nav translations
* fix more copy paste
* Create basic feature toggle
* Rename context to reflect it contains query history and query library
* Update icons and variants
* Rename hooks
* Update tests
* Fix mock
* Add tracking
* Turn button into a toggle
* Make dropdown active as well
This is required to have better UI and an indication of selected state in split view
* Update Query Library icon
This is to make it consistent with the toolbar button
* Hide query history button when query library is available
This is to avoid confusing UX with 2 button triggering the drawer but with slightly different behavior
* Make the drawer bigger for query library
To avoid confusion for current users and test it internally a bit more it's behind a feature toggle. Bigger drawer may obstruct the view and add more friction in the UX.
* Fix tests
The test was failing because queryLibraryAvailable was set to true for tests. This change makes it more explicit what use case is being tested
* Remove active state underline from the dropdown
* Allow closing Query Library drawer from the toolbar
* Simplify dropdown design
* apply empty state in a bunch of places
* fix unit tests
* put alert back on top
* add data-testids so e2e tests keep working
* remove info boxes
* fix annotations empty state alignment with new maxWidth
* I18n: Support for Enterprise translations
* don't attempt to link to enterprise in tests
* move extract script to makefile to optionally support enterprise
* update references to old extract script
* update docs
* thank god for unit tests
* WIP
* Use splitpanewrapper for drawer
* Get rich history pulling from multiple datasources
* highlight pane
* Fix datasource data handling
* create ds/explore map, move around ds lookup
* Handle no filters
* Fix tests and some errors
* Fix context menu issue
* (Poorly) enable scrolling, fix onClose to function
* Remove highlighting, use legacy key, fix casing
* fix filtering to handle non-simple data
* Fix linter, add translations
* Fixing tests~~
* Move to explore drawer and fix some more tests
* Kinda fix drawer stuff?
* Fix remaining card tests
* Fix test
* Fix tests
* Partially fix starred tab tests
* Fix integration tests
* Fix remaining tests 🤞
* Add a test and a clarifying comment behind a couple hooks
* Remove unused code
* Fix button styling and fix animation (but break width)
* Make Drawer using parent width (100%)
* Fix tests and some small catches
* Add tests for selectExploreDSMaps selector
---------
Co-authored-by: Piotr Jamroz <pm.jamroz@gmail.com>
* E2C: Resources table refactor
* update swagger spec with enums
* use native resource item type, rather than our mock type
* unit tests for resources table
* update spec
* E2C: Start connecting on-prem to real apis
* actually run the migration
* show resources
* basic dashboards resources
* show dashboard title
* remove console logs
* cleanup 1
* i18n
* disconnect
* i18n
* restore type
* use fixed format
* fix
* add empty search state component
* extract translations
* nicer prop spreading
* actually expose component in grafana-ui
* use requestAnimationFrame
* add rollup-plugin-svg-import
* move to a single EmptyState component with variants
* update docs
* remove CTA
* add some more prop documentation
* just use 1 svg
* Table: hacky poc for colored rows
* update
* Update options editor
* Refactor out styling
* Make sure option applies
* Start unifying coloring logic
* Support various options
* Cleanups
* Fix up hover behavior
* Update label
* Fix bug with sorting and make cleanups
* Ensure text color also applies to whole row
* New treatment for cell inspect
* Update cell inspect spacing
* codeincarnate/table-row-background-selected-riffs/ run linter
* Fix hover colors
* Fix coloring
* The other part of color application
* Another color fix
* codeincarnate/table-row-background-selected-riffs/ lint
* Update cell value inspect
* Prettier
* Update cell value inspect coloring
* Fix text coloring
* Update inspect style
* Linting and betterer
* Fix tests
* i18n
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
* add drawer for auth settings
* add StrongPasswordField component
* Add style to different behaviours
* update style for component
* add componenet to ChangePasswordForm
* pass the event handlers to the child component
* add style for label container
* expose strong password policy config option to front end
* enforce password validation with config option
* remove toggle
* remove code not behind toggle
* remove old MegaMenu
* rename DockedMegaMenu -> MegaMenu and clean up go code
* fix backend test
* run yarn i18n:extract
* fix some unit tests
* fix remaining unit tests
* fix remaining e2e/unit tests
* Working copy-paste functionality with validation
* WIP; uses 't c' shortcut to copy time range
* shortcuts working for explore and dashboards
* cleanup
* Don't update url when pasting in explore
* Error handling, sync pane functionality, add to help modal
* cleanup
* add tests
* fix i18n
* Diferrentiate between explore and dashboard paste events; make on error prop generic
* Fix
* extract getting the copied time range logic into a function
* Remove comments
* Make error handling generic; markup for translations
* Additional translation markup
* markup for aria-label
* Fix test
* Replace fireEvent with userEvent
* fix translations to match the standard pattern
* Refactor keybindingSrv and TimeSrv to remove PasteTimeContext
* Fix test
* Remove unneccessary aria labels; update icons; buttons inline
This PR has two steps that together create a functional dry-run capability for the migration.
By enabling the feature flag alertingPreviewUpgrade when on legacy alerting it will:
a. Allow all Grafana Alerting background services except for the scheduler to start (multiorg alertmanager, state manager, routes, …).
b. Allow the UI to show Grafana Alerting pages alongside legacy ones (with appropriate in-app warnings that UA is not actually running).
c. Show a new “Alerting Upgrade” page and register associated /api/v1/upgrade endpoints that will allow the user to upgrade their organization live without restart and present a summary of the upgrade in a table.
* Separate overlapping legacy and UA alerting routes
api/alert-notifiers, alerting/list, and alerting/notifications existed in both
legacy and UA.
Rename legacy route paths and nav ids to be independent of UA ones.
* WIP first pass
* Change to toolbarbutton/buttonselect pattern
* Move to two toolbarbuttons with dropdown
* Justify text to the right of icons
* Fix betterer
* Fix styling and tests
* Add to docs
* Perist last clicked, add translations
* move styling to core component
* use label for tooltip, let parser combine panes in multiple params
* Explore: Panes encoding suggestions (#78210)
panes encoding suggestions
* WIP-add menu groups
* Get group actions working
* add icons and non-local last selected state
* Fix translations after merge
* Add categories to translation, tweak the verbiage
* Fix translation extraction
* Fix tests
* fix translation conflict
* Log if time is absolute
---------
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Start splitting out code
* Use flag
* A bit of rocket surgery
* Prettify
* Cleanup behavior
* Work through behaviors
* Move empty message from other PR
* Import fixes and prettier
* Clean things up
* Add selector for tests
* Cleanups
* Working with transformation redesign
* Some more tweaks to make sure of correct behavior
* Update betterer/eslint exceptions
* Localization
* Remove unecessary fragments
* Spacing and prettier
* Update tests for new UI
* Update e2e tests
* One more e2e test fix
* Update selectors
* Fix one test and break another
* add grafana/user/profile/settings
plugin extension point
* changes to support plugins having their
own settings tabs
* WIP
* add comment
* add unit tests
* allow setting open tab based on tab query param
* update name of extension point
* add some more unit tests
* address PR comments
* PR comments
* dock undock smoothly
* handle keyboard focus
* use ref instead of state
* run i18n:extract
* undo this change
* make dock/undock first button to focus
* only focus when going to docked, add comment
* minor tweaks
* remove all the things
* fix OldFolderPicker tests
* i18n
* remove more unused code
* remove mutation of error object since it's now frozen in the redux state
* fix error handling