* WIP for improved hover state for calendar range
* TimeRangePicker: Add hover state when selecting a date range
* reorder styles to reduce duplication
* oops that wasn't supposed to go in
* ignore border radius false positive
* Update dependency @grafana/llm to v0.22.0
* mark some packages as esm for jest
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* declare dingding url as secret
patch raw settings before parsing because DingDing's config parser does not know about secrets
* fix integration test
---------
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
* LogList: add key bindings hook
* LogListContext: add search support
* LogList: create and integrate LogListSearch
* useKeyBindings: close search with escape
* LogListSearch: implement go to results
* LogLine: support highlight in logs with ansi colors
* LogListSearchContext: extract from LogListContext
* LogListSearch: highlight matches in ansi logs
* LogListSearch: fix count
* LogListSearch: implement optional results filtering
* Translations
* LogListSearch: display within the panel and add tooltip
* Translations
* LogList: highlight search words and search matches
* LogListSearch: remove ufuzzy
Unfortunately we can't highlight ufuzzy matches
* LogListSearch: clean up removed ufuzzy implementation
* Prettier
* LogListSearch: search in displayed fields
* useKeyBindings: switch to native event listeners
* LogListSearch: fix effect loop
* LogListSearch: remove character so people don't think this text comes from AI
* LogLine: add text search test cases
* LogList: add integration test case
* LogListSearch: use uncontrolled input and react transitions
* LogListSearch: import t from i18n
* LogListControls: add search control
* LogListSearch: escape regexes
* Add to available channels
* Export
* Fix bug in deeply nested secrets
BE: Slice re-use bug when traversing deeply.
FE: Only at most one level of nesting was being taken into account
when determining secureFields keys. This change adds a new field on
NotificationChannelOption: secureFieldKey. This is populated on API GET via
transform. This change gives us the option to hardcode secureFieldKey in the
backend and no longer calculate the key via settings topology.
* Update grafana/alerting to 3e20fda3b872
* Prettier
* Linting
* Fix IntegrationConfig test to catch secure field mismatch
* fix(#92944): add StateTimeline Null+NaN handling
* chore: remove console.warns from debugging
* test: initialize a couple of simple tests
* test: more tests for hasMappedNaN and hasMappedNull
* chore: revert some of the let-const syntax cleanup for a later PR
* chore: rename should draw method
* chore: fix comment typo
* refactor(timeline-chart-utils): un-nest hasSpecialMappedValue() helper
* test(timeline-chart-utils): unit test hasSpecialMappedValue() helper
* chore: fix code comment typos in changed files
* refactor(timeline-chart): reduce helper DRY-ness for better performance
* fix(timeline-chart): check Y value for truthiness, not if it is finite
* test(state-timeline): additional gdev test panels with null + NN values
* fix(timeline-chart): allow Y value of zero in checks
---------
Co-authored-by: Jesse David Peterson <jesdavpet@users.noreply.github.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
* Docs: adding information on adjusting short link expiration time in Grafana cloud
* changing admonition and adding info on changing config for cloud
* adjusting wording
* fixing typo
* Update docs/sources/setup-grafana/configure-grafana/_index.md
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
---------
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
If you tried to migrate alerts from two differente sources/on-prem instances,
the autoincremented numeric id would be the same, and since we were creating
the resource in cloud with that same id (the API accepts it), it would
return an error "conflicting alert rule found" because that id is the primary key on the table.
We simply omit the numeric id now and let the API for the cloud instance generate it.
* Dashboard: ValueFormat - add custom 'financial' currency format without abbreviations
- Add fullCurrency formatter function that displays complete numeric values
- Apply performance suggestions from old PR
- Add unit tests
- Update documentation
* remove unnecesary `true` format support