* [Alerting] - replace label inputs with dropdowns (#57019)
* Add AlertLabelDropdown component
It will be used to pick from or create new labels
* Adapt LabelsField component to use AlertLabelDropdown instead of inputs
* Add tests for LabelsField component
Plus a few other tests were adapted to work with the label dropdowns
* Use ref in component
* Fix showing placeholders in the label dropdowns
* Minor syntax change
* Remove unneeded import after rebase
* Display custom labels
When a label key is selected, its corresponding values are shown in the dropdown
* Add tooltip explaining where labels in the dropdowns come from
* Fix import of Stack component
* Avoid duplicated values
* Improvements based on review
* Display labels for currently selected datasource only
* Refactor AlertsField to allow to choose whether to suggest labels or not
* Suggest labels for NotificationStep and tests
* Don't suggest labels in TestContactPointModal
* [LabelsField] - refactor: get dataSourceName as a parameter
* [LabelsField] - extract common code into reusable components
* Display loading spinner while fetching rules
* LabelsField - refactor
Removing the suggest prop and the default dataSource 'grafana'. Instead, the component now relies on the dataSourceName param. If it's set it means we want to show suggestions so we fetch the labels, otherwise, if not set, we show the plain input texts without suggestions.
* Add test for LabelsField without suggestions
* Show custom labels for grafana managed alerts
When the dataSourceName in the NotificationsStep component has a null value, we can assume it's because we're dealing with grafana managed alerts. In that case we set the correct value.
* Fix tests after latest changes
Since we removed the combobox from the TestContactPoints modal, tests had to be adjusted
* Update texts
* initialize all new added inputs with empty data
* Nested Folders: Support getting of nested folder in folder service when feature flag is set
* Fix lint
* Fix some tests
* Fix ngalert test
* ngalert fix
* Fix API tests
* Fix some tests and lint
* Fix lint 2
* Fix library elements and panels
* Add access control to get folder
* Cleanup and minor test change
* Update thema to latest
* Deal with s/Library/*Runtime/
* Commit new, working results of codegen
* We like pointers now
* Always take runtime arg for NewBase()
* Sketchy handwavy pass at entity meta framework
* Little nibbles
* Update pkg/framework/coremodel/entityframework.cue
Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
* Move file into new framework location
* Introduce loaders, Go code
* Complete rename to kind
* Flesh out framework, add svg/dashboard examples
* Cruft removal
* Remove generated kind go files from gitignore
* Refine maturity concept, add SlotKind
* Update embed and go deps
* Export PrefixWithGrafanaCUE
* Make the loader actually work, holy crap
* Many small tweaks to type.cue
* Add Apache 2 licensing exceptions for kinds
* Add new kinds dir, start of generator
* Roll back to earlier oapi-codegen
* Introduce new grafana-specific CUE loaders
* Introduce new tidy code generators framework
* Catch up kind framework with tinkering
* Add slices for the generators
* Add write/verify step to main generator
* Many renames
* Split up kind framework cue files
* Use kind.Decl within generated kinds
* Create kind.SomeDecl wrapper type to cache lineages
* Better names again
* Get one generated implemented, hopefully
* Copy dashboard schema into new kind.cue
* Small fixes to make the initial gen work
* Put svg kind in its new home
* Add generated Go dashboard type
* More renames and cleanups
* Add base kind registry and generator
* Stop blacklisting *_gen.go files
This is not the Go best practice, anyway. All we actually want to ignore
for enterprise is generated wire files.
* Change codegen output directories
pkg/kind -> pkg/kinds
pkg/registry/kindreg -> pkg/registry/corekind
* Rename pkg/framework/kind to pkg/kindsys
* Add core structured kind generator
* Add plural and machine names to kind spec
* Copy playlist over to kind system
* Consolidate kindsys files
* Add raw kind generator
* Update CODEOWNERS for kind framework
* Touch up comments a bit
* More docs tweaks
* Remove generated types to reduce noise for review
* Split each generator into its own file
* Rename Slot kind to Composable kind
* Add handwavy types for customkind loading
* Guard against init calls to framework loader
* First pass at doc on extending the kind system
* Improve attribute example in docs
* Fix wire imports
* Add basic TS types generator
* Fix composable kind category def
* No need for a separate file with generate directive
* Catch dashboard schema up
* Rename generator types to something saner and generic
* Make version configurable in ts/go generators
* Add CommonMeta to ease property access
* Add kindsys prop indicating whether lineage is group
* Put all kind categories back in a single file
* Finish with kindsys group props
* Refactor maturity progression per discussion
- Replace "committed" with "merged"
- All kindcats can use all maturity levels, at least for now
* Convert ts veneer index generator to modular system
* Move over to new jennywrites framework
* Strip down old coremodel generator
* Use public version of jennywrites
* Pull latest thema
* Commit generated Go types
* Add header injection postprocessor
* Move sdboyer/jennywrites to grafana/codejen
* Tweak header output
* Remove dashboard and playlist coremodels
* Fix up backend dashboards devenv test
* Fix TS import patterns to new gen filename
* Update internal imports, remove coremodel registry
* Fix compilation errors, wire generation
* Export and replace the prefix dropper
* More Go struct and field name changes
* Last name fixes, hopefully
* Fix lint errors
* Last lint error
Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
* Remove URL-based alertmanagers from endpoint config
* WIP
* Add migration and alertmanagers from admin_configuration
* Empty comment removed
* set BasicAuth true when user is present in url
* Remove Alertmanagers from GET /admin_config payload
* Remove URL-based alertmanager configuration from UI
* Fix new uid generation in external alertmanagers migration
* Fix tests for URL-based external alertmanagers
* Fix API tests
* Add more tests, move migration code to separate file, and remove possible am duplicate urls
* Fix edge cases in migration
* Fix imports
* Remove useless fields and fix created_at/updated_at retrieval
Co-authored-by: George Robinson <george.robinson@grafana.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
* Switching to new output format for detect breaking changes action
* linting: wrap $GITHUB_OUTPUT with double quotes
* linting: fix shellcheck issues in the right place 🤦♂️
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* feat(Connections): create sub-pages wrapped by `<Page>`
* feat(Connections): rename the Connections page and update routes
* feat(Connections): use new url for editing datasources
* refactor(Connections): remove unused tab components
* feat(Connections): update routes and nav titles
* tests: fix tests for Connections
* tests: fix typo in backend tests
* transfer DeleteFolder changes from larger PR
* finish some thingies
* add the simplest delete logics
* some intermedia steps
* fix tests
* add test
* fix some comments
Co-authored-by: yangkb09 <yangkb09@gmail.com>
* Refactor state and manager to not depend directly on image interface
* Move generic errors to models package
* Move NotAvailableImageService to state as its only references are in state tests
* Move NoopImageService to state package
* Move mock to state package
* Fix linter error
* Fix comment styling
* Fix a couple added references introduced by rebase
* Empty commit to kick build
* extract method processTick
* make processTick return scheduled rules
* move state manager tests to state manager
* update test
* move all tests into one file
* remove unused fields
* WIP: try to support removing series endpoint for supported clients
* add other filter variables to match param for label values query against filter values, in order to resolve bug in which filter value options would display that aren't relevant in the current query editor context, i.e. options would display that upon select would display no data
* clean up console logs
* refactor and comment
* expanding current unit test coverage to cover calls to new API
* fix unit test
* whitespace
* prettier
* WIP: need to merge in other PR
* WIP giving up and trying again
* WIP: most functionality is working, split out shared loki/prom code
* fix bug in which search results wouldn't take other label context into the query
* Fix bug in which the previously selected value would conflict with the async search
* interpolate the label name string instead of the match promql expression
* remove type assertions
* remove type assertion
* clean up generic confusing types, and add back in a type assertion
* remove generic type
* make sure to interpolate label names
* fix bugs with variables not interpolating before query
* remove debug
* assert partial properties on QueryBuilderLabelFilter
* Force update betterer results :(
* update regex so dropdown UX more closely matches current behavior
* add eslint ignore
* add eslint ignore and update betterer
* updates topic to align with multiple task template
* updates goal intro
* aligns formatting with single task topic template
* Update docs/sources/administration/team-management/index.md
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
* adds permissions requirements to two tasks
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>