* Add group actions menu
* Refactor modals to accept raw ruler group
* Use prometheus and ruler responses to dispaly GMA rules in the hierarchical view
* Add groups loader component for data source managed rules
* Improve rules matching algorithm for the search results
* Use plus and minus icons for reconciliation state
* loading spinner WIP for operations / transactions
* update comment
* Use ruler rules order when displaying a group, change rurler preload behaviour
* Add ruler-based ordering for GMA rules
* Refactor ruler API mocking
* Refactor rule components to accept ruler only rules
* Add tests for GrafanaGroupLoader
* Add tests for vanilla prom groups
* Unify data matching code, add tests for DS groups loader
* Fix errors after rebasing
* Improve handling of ruler group absence
* Fix cache key
* Add group action buttons for the new group pages
* Add new rule action buttons to the new list page
* Address PR feeback, component renaming, missing translations
* Unify groups and rules links and actions
* Fix new rule button
* Add rule list action buttons tests
* Fix lint errors
* Add redirect to rule details page on save
* Update FilterView tests
* Fix imports and remove unused code
* Improve type definitions, add pooling to Prom hooks, add inline docs
* Remove unused code of group modals
* Update translations
* Disable cache population for filter-view generators
* Add consistency check Alert to the RuleViewer when V2 list is enabled
* Disable UI errors in prom generator
* Improve missing datasouce handling
* Add missing translations
* Improve group loader tests, remove unused code
* Enhance Prometheus API query to include notification options
* Improve error handling, remove consistency check for vanilla prom data sources
* Address PR feedback, add new version of the useHasRuler hook
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* feat(grafana-ui): introduce development exports to prevent importing from grafana/ui/src
* refactor(theme-generation): move theme templates into scripts so themes continue to build
* refactor(frontend): replace grafana/ui paths that use nested src with /internal or /unstable
* chore(betterer): update better results file
* feat(grafana-ui): support enterprise, remove Text component from internal
* docs(packages): update readme with exporting code conventions
* Add basic token-based paginated fetching
* Add 1:many relation between UI and API pages
* Fix pagination arrows
* Add pagination to hierarchical view
* Add multidatasource filtering
* Improve flushing filtered rules, add better identifiers
* Fix pagination for data sources not supporting server side pagination
* Use alert rule loader on the filter view
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* use useTransition and update loader
* types
* Update ruleGruopIdentifier. Add actions and location to recording rules
* Update to the new API parameters
* Refactor iterator code
* Use ix to merge iterators
* Improve perf
* use AbortController to cancel loading pages
* remove iterops for now
* add comments
* add application and rulesource information to list view
* update test
* update list view functionality
* add emptystate
* automatically load more items when we get to the bottom of the page
* reduce number of loaders
* separate hook for useFilteredRulesIteratorProvider
* use useDeepCompareEffect to track filter state changes
* fix weird no results loading glitch
* fix rare case where changing filters wouldn't update the list
* add number of results to component
* Simplify FilterView rerendering
* add filter for dashboard
* Add tests for filtered view, use data source UID instead of names in the interator code
* Improve HTML semantics, extract a separate GroupedView component
* Split RuleList.v2 into multiple files
* Split tests into Filtered and Grouped view files
* PR feedback
* Improve error handling, add tests for GroupedView
* Improve types, small refactoring
* Improve rules setup
* Small improvements, v1 and v2 versions of the view type selector
* Remove yarn cache changes
* Import from test-utils
* Move groupIdentifiers, improve state param parsing
* reorder imports
* reorder imports
* update yarn resolution
* i18n
* Improve API mock, increase timeout limit
* Add tests for RuleList.v2
* Update tests
* Fix mocks in test
* Fix lint
* Fix data sources mock
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
* update eslint, tsconfig + esbuild to handle new jsx transform
* remove thing that breaks the new jsx transform
* remove react imports
* adjust grafana-icons build
* is this the correct syntax?
* try this
* well this was much easier than expected...
* change grafana-plugin-configs webpack config
* fixes
* fix lockfile
* fix 2 more violations
* use path.resolve instead of require.resolve
* remove react import
* fix react imports
* more fixes
* remove React import
* remove import React from docs
* remove another react import