* Add limit query parameter
* Drop copy paste comment
* Extend history query limit to 30 days and 250 entries
* Fix history log entries ordering
* Update no history message, add empty history test
---------
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
* Show description for each expression type in the body and change widht depending on the type
* Move condition indicator to the header
* Make order of fields in expressions to be consistent for each expression type
* Add tooltip for expression type menu
* Update styles depending on the expression type
* Update styles and move add query button under queries
* Add NeedHelpInfo component
* Adress PR review comments
* Apply description updates from #70540
* Rename gelTypes to expressionTypes
* Update layout for expressions according to the real usecases
* Update footer to include series count in all expressions
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* Prevent using original rule uid when cloning
* Use uid from url instead of a new param in the alert rule form
* Add function to clone rule and tests for it
* Fix lint & tests
---------
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
* Trigger separate rules request for each alerting panel in a dashboard
* Add RTK method to fetch prom rules
* Use RTKQuery to get prom rules in UnifiedAlertList
* Fix lint
* Mock promRules call
* Address PR comments
* Fix tests
* Change how we display annotations in the rule form
* Allow to add custom annotations using a free text input
* Get dashboard and panel titles to display in the annotations section
* Add component to display dashboard and panel annotations as links
* Add styling to help tooltip
* Fix styling on annotations controls
* Fix tests
* Fix tests
* Remove unused imports
* Add component for custom annotations
* Display default annotations even if editing and they're empty
* Adjust tests
* Make conditional rendering more clear
* Fix tests
* Move annotation header to separate component
* Fix lint
* Show annotation fields in the right order
* Prevent showing custom annotation fields by default
* Don't display links to dashboard/panel if response fails
* Rename custom annotation header component
* Fix after rebase
* Remove storing derived state (loading property) and use a selector instead
* Remove redundant tests
There's no way to change the interval while live streaming
* Remove check for isLive when deriving waiting for data
It was introduced in #18804
* Remove unused props
* Add notification policies preview in alert rule form
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
* Refactor using new useGetPotentialInstances hook and apply some style changes
* Add notification policy detail modal
* Use backtesting api for simulating potential alert instances
* Fix logic to travserse all the children from the root route
* Split notification preview by alert manager
* Add instance count to matching policy header and fix some styles
* Move some logic to a new hook useGetAlertManagersSourceNames to make the code more clean
* Fix some tests
* Add initial test for NotificationPreview
* Use button to preview potential instances
* Add link to contact point details
* Add route matching result details
* Show AlertManager image in the routing preview list
* Add tests setup, add single AM preview test
* Handle no matchers and no labels use case
* Update some style in collapse component and fix policy path in modal
* Update modal styles
* Update styles
* Update collapse header styling
* Normalize tree nodes should happen before findMatchingRoutes call
* Fix findMatchingRoutes and findMatchingAlertGroups methods after reabasing
* Move instances matching to the web worker code
* Fix config fetching for vanilla prometheus AMs
* Add tests
* Add tests mocks
* Fix tests after adding web worker
* Display matching labels for each matching alert instance
* Add minor css improvements
* Revert changes added in Collapse component as we don't use it anymore
* Move the route details modal to a separate file
* Move NotificationRoute and preview hook into separate files
* Fix Alertmanager preview tests
* Fix tests
* Move matcher code to a separate file, improve matcher mock
* Add permissions control for contact point edit view link
* Fix from and to for the temporal use of backtesting api
* Fix tests, add lazy loading of the preview component
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
* Fix preview test
* Add onclick on the header div so it collapse and expands when clicking on it, and update styles to be consistent with the rest of tables
* Adapt the code to the new rule testing endpoint definition
* Fix tests
* small changes after reviewing the final code
* compute entire inherited tree before computing the routes map
* Throw error in case of not having receiver in routesByIdMap and add test for the use case of inheriting receiver from parent to check UI throws no errors
* Add list of labels in the policy route path that produces the policy matchers to match potential instances
* Use color determined by the key, in label tags when hovering matchers in the policy tree
* Remove labels in modal and handle empty string as receiver to inherit from parent as we do with undefined
* Revert "Add list of labels in the policy route path that produces the policy matchers to match potential instances"
This reverts commit ee73ae9cf9.
* fix inheritance for computeInheritedTree
* Fix message shown when preview has not been executed yet
* First round for adressing PR review comments
* Adress the rest of PR review commments
* Update texts and rename id prop in NotificaitonStep to alertUid
---------
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* 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
* 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
* Add component for rule creation and dropdown
* Make each route type have a different path
* Remove unneeded import
* Fix tests
* Rename CreateRuleButton to MoreActionRuleButtons
* Remove Recording Rule option from new rule form
* Use alerting and recording for path params on new rules
* Fix tests
* Only show new button if permissions are granted
* Fix tests
* Basic implementation in web worker
* Move instances discovery to the worker
* Remove filtering from the worker
* Use normalized routes, use rtk query for alert groups fetching
* Reorganize matchers utilities to be available for web workers
* Move object matchers to the machers util file, rename worker
* Move worker code to a separate hook, add perf logging
* Add a mock for the web worker code, fix tests
* Fix tests warnings
* Remove notification policy feature flag
* Add normalizeRoute tests, change the regex match to test for label matching
* Move worker init to the file scope
* Simplify useAsyncFn hook
* Use CorsWorker as a workaround for web workers loading from CDN
* Use a feature flag to enable/disable worker-based preview, add worker error handling
* Add POC for react-enable working with grafana feature toggles
* Code cleanup
* Remove console error, add useRouteGroupsMatcher tests
* Fix tests mock
* Use mutable ref to keep queries to be previewed to prevent stale state
* Extract code related to AlertQueryRunner to a separate hook
* Use hooks form state to keep fresh queries, fix recording rules preview
* Remove unused import
* Update query update explanation
* 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
* Basic implementation in web worker
* Move instances discovery to the worker
* Remove filtering from the worker
* Use normalized routes, use rtk query for alert groups fetching
* Reorganize matchers utilities to be available for web workers
* Move object matchers to the machers util file, rename worker
* Move worker code to a separate hook, add perf logging
* Add a mock for the web worker code, fix tests
* Fix tests warnings
* Remove notification policy feature flag
* Add normalizeRoute tests, change the regex match to test for label matching
* Move worker init to the file scope
* Simplify useAsyncFn hook
* refactor: remove unnecessary styling and adjust to button styling
* refactor: improve story
* refactor: use new default styling for border radius
* refactor: add missing pseudo classes and clean up
* refactor: repair disabled styling and add to story
* refactor: clean up and apply styles defined in figma
* refactor: set hover background in a pseudo-element
* refactor: unify large sizes
* refactor: add information for further use
* refactor: add comment
* refactor: comments and clean up import
* refactor: add changes after code review
* refactor: replace some bad example code in documentation
* refactor: update comment
Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>
* refactor: add changes requested in review
* refactor: move deprecation warning
* refactor: replace padding
* refactor: remove local styling
* refactor: create separate stories for different examples
* refactor: change style of story
* refactor: replace absolute value by variable
* Update toggles_gen.go
---------
Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>