* loading states!
* fix uncontrolled checkbox
* cleaner css
* improve flickering title
* make sure @grafana/ui has the same version of react-loading-skeleton
* fix unit test + add tooltip text
* better way of restoring focus
* only restore focus when loading
* missing !
* use aria-label instead of tooltip
* Move useUniqueId to a general place
* Use new built-in useId hook
* Rename query builder and metadata query
* Move and rename the query builder tests
* Refactor query_builder and metadata_query
* Fix test
* Fix test
* Restructure folders
* update texts
* Update the mock
* Fix test
* update imports
* update imports again
Remove unused properties:
* `FieldColorModeId.PaletteSaturated`: It doesn't exist and it is not a valid palette.
* `VariableModel.rootStateKey`: It is not persisted in the DB, so it shouldn't be in the schema. It is a property only used in the frontend to store the Redux store key.
* `VariableModel.error`: It is not persisted in the DB, so it shouldn't be in the schema. It is a property only used in the frontend to store fetching errors.
* `Panel.thresholds`: old property only existing in previous versions of the dashboard schema.
* `Panel.timeRegions`: old property only existing in previous versions of the dashboard schema.
* Move useUniqueId to a general place
* Use new built-in useId hook
* Rename query builder and metadata query
* Move and rename the query builder tests
* Refactor query_builder and metadata_query
* Fix test
* Fix test
* add some information to the password change screen
* update threshold cause pa11y is stupid
* override the loginlayout title if changing password
* remove top padding from inner box
* Add i18n verification step
* Add check for extracted translations
* Run extract
* Add newline for pseudo
* Format JSON output with prettier
* Print file diff
* Actually run make drone
* Only deo git diff on locales
* Update error message
* Verify that step fails on dynamic phrases
* Verify that it passes when fixed
* Verify that dynamic phrase fails, for real this time
* Extract error messages
* Change echo
* Fix string format
* Try double escaping
* Escape for Drone substitution
* Update character escape
* Remove dynamic phrase
* Verify multiple keys
* Remove double keys
* Readd en locale because of reasons
* Undo changes
* Format lint_frontend.star
* Update error message
* Update .drone.yml
* Add quotes for echo
* Verify fail to extract
* Fix diff stat command
* Reset footer changes
* Move useUniqueId to a general place
* Use new built-in useId hook
* Rename query builder and metadata query
* Move and rename the query builder tests
* Pull out datasource specific implementation into calling context to make query cache generic
---------
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* wip for pagination
* kind of doing pagination, but only for the root folder
* wip
* wip
* refactor paginated fetchChildren
* make sure dashboards are loaded if a folder contains only dashboards
* rename lastKindHasMoreItems
* load additional root pages
* undo accidental commit
* return promise from loadMoreChildren, and prevent loading additional page while a request is already in flight
* rename browseDashboards/fetchChildren action so it's more clear
* starting to revalidate children after an action
* unset general uid
* comment
* clean up
* fix tests omg
* cleanup
* fix items not loading after invalidating loaded cache
* comment
* fix lints
* Let alert rule service implement registry service
* Add count method to RuleStore interface
* Add implementation for deletion of alert rules
* Rename uid to folderUID in registry methods
* Check forceDeleteRule value for registry deletion
* Register alerting store with folder service
* Move folder test functions to separate package
* Add testing for alert rule counting, deletion
* Remove redundant count method
* Fix deleteChildrenInFolder signature
* Update pkg/services/ngalert/store/alert_rule.go
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Add tests for nested folder deletion
* Refactor TestIntegrationNestedFolderService
* Add rules store as parameter for alertng provider
---------
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Query utils: add function to identify distinct queries
* Chore: return false when the expected node is found
* Query splitting: exclude distinct queries from splitting
* Group queries excluded from splitting
* feat(plugins): remove global limit on extensions per placement
* feat: add a way to limit extension per plugin at the getter
* test(plugins): fix failing getPluginExtensions test
* refactor(panelmenu): put back limit of 2 extensions per plugin
* tests: add a test for checking all extensions are returned by default
---------
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* feat: add a new UI extension type: component
* fix: remove reference to not existing type
* chore: update betterer results
* review: use a single type notation in import
* review: stop exporting `PluginExtensionBase`
* refactor: make extension config types more explicit
By using some repetition now these types are much easier to oversee.
* feat: add a new extension point to the datasources config
* fix: export tcontext type from grafana-data
* chore: update betterer results
* chore: fix tests
* feat: extend the context shared with extensions
* feat: stop omitting jsonData props & update context type
* tests: update tests
* remove i18n toggle
* remove beta badge on language picker
* remove toggle from go code
* Revert "remove beta badge on language picker"
This reverts commit 3b76300aa7.
* Add tracing config sub sections
* Export common sections and update divider in additional settings section
* Max width and margin bottom
* Add feature name to config link
* Update SpanBarSettings
* remove import
* initial attempt at inline rename
* handle version correctly
* refactor
* minor tweaks
* add unit tests
* prettier...
* add to other tabs, remove settings tab when feature toggle is enabled
* fix truncation
* allow title to span full width of page
* fix h1 styling when no renderTitle/onEditTitle is present
* better layout
* use input from grafana/ui, fix imports
* fix unit test
* better error handling
* don't use autosavefield
* undo changes to AutoSaveField
* remove timeout
* remove maxWidth now we're not using AutoSaveField
* rename isEditInProgress to isLoading
* sync localValue with value
* better responsive css
* 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
* feat: add a new UI extension type: component
* tests: add tests for checking if it is a react component
* fix: remove reference to not existing type
* chore: update betterer results
* review: remove unnecessary override function for components
* review: use a single type notation in import
* review: stop exporting `PluginExtensionBase`
* refactor: make extension config types more explicit
By using some repetition now these types are much easier to oversee.
* 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
* add class for full story click event on open modal
* move feedback link to modal top under header
* move results amount to bottom left
* move settings into modal, change language from exclude to include
* add metadata to backend search, use toggletip for settings, clean code
* style input row, remove labels and update settings button design
* remove alphabet search as requested by design
* display selected metric
* update style warning message for labels filtered metrics
* organize results footer
* update table design w fixed width and sticky header
* allow focus row on tab and use key Enter to select metric on keydown
* add rudderstack event for disable text wrap
* add messages for no metrics found, labels, search and none in data source.
* filter by type placeholder
* add min width to custom select option
* add text wrap for long metric names
* Have 4px margin b/w the search row and the 'currently selected' text. 16px between 'currently selected text' and the table
* Add some padding inside the first table header row (8 pixels on all sides)
* font-size of 12px for additional settings text
* 4px padding between additional settings text
* 24px margin between the last table cell and the pagination row
* # of Results per page font size 0.85rem
* 8px margin b/w the '# of results per page' and the dropdown
* fix test
* add infer type setting for testing
* use title on icon instead of wrapping in tooltip to fix test
* fix icon issue
* italicize inferred types, update setting text and add icon
* add space for label filters alert message
* make open button style consistent with advanced datasource picker
* keep copy for open modal button
* refactor rudderstack interactions and add inferType
* add event tracking for opening the modal
* galen's feedback, fix select horizontal scroll and results perpg bug
* ismail's feedback for metric types
* revert button in option for accessibility(galen) and style button with ghost mode
* change name to Metrics explorer
* fix hover/focus styles
* ismail's feedbcak, refactor hints, return empty string, remove @return
* Fix icon hovering: put tooltips back in over titles on icon
* make results not expand to fill table space and fix width for modal open option button
* Remove unused mocks
* Remove time grain converter anys
* Improve mocks
- Add context mock
- Update datasource mock
- Add util functions
* Remove anys from log_analytics_test
* Improve response typing
* Remove redundant angular code
* Remove more anys
- Add Resource type
* More type updates
* Remove unused code and update arg ds test
* Remove old annotations test
* Remove unused code and update some more types
* Fix lint
* Fix lint
* Add "Allow Cleartext Passwords" checkbox to MySQL connection settings
* Fix lint issues
* Add docs
* Add line break and bold text
---------
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* feat: add default properties to the `reportInteraction()`
* chore: add more tracking events to the ds-config page
* refactor: adding the `path` to the `meta` instaed
* reword button to Create a new data source
The previous wording included the name of the data source, which made it
difficult for the doc team to refer to it.
This allows the doc team to refer to this button in an obvious way.
* "Create a"-> "Add"
* update tests
* Update all core kinds to flattened lineages
* Regen Go types, without any
* Regen Go types, s/interface{}/any/
* Update generated core typescript
* Update generate docs
* Fix defaults gen in veneer index jenny
* Flatten plugindef lineage
* Convert all plugin kinds to flattened form
* Switch back to interface{} for now
* Switch to fs.Sub in plugin DeclParser
* Mostly undesirable codegen changes, to be fixed
* Update mod and sum
* Update pfs tests to flattened lineages
* Update thema to latest, regen docs
* Move logs-related files to its own folder; update ownership paths
* Fix failing tests
* Put Flame graph and Node graph related files into separate folders
* Put RawPrometheus related files into a separate folder
* Put Table related files into a separate folder
* Add owners to three visualization categories
* observability-logs team owns everything under logs
* Move logs utils to their separate folder under Logs
* Wip
* remove name input from page body
* render title & subTitle in datasource page in connections and remove unused prop - uid
* styling on actions button group
* remove unused props in edit datasource page
* set gap as 8px between buttons
* move editable datasourcename to the header
* add subTitle component
* remove useRef and use autoFocus prop
* pass false to isDefault when dataSource is undefined
* change button text
* remove suffix icon
* remove unused import - Icon
* consolidate duplicate useDataSourceSettingsNav into datasrouces hook
* move dataSource context to useDataSourceSettingsNav
* remove Explore button in the footer
* remove unused props
* fix failing test on button group
* fix typo on file naming
* remove disabled prop
* fix param
* add test
* add test files
* disable editing title in readOnly provision datasource
* update name should save dataSource
* prevent swith toggle change from label clicking and change margin
* update tooltip message
* use datasource update on header instead of state update
* remvoe subTitle component and move subTitle component next to page Info component
* Added title
* remove subTitle in buildNavModel
* replace Button with Badge
* make datasourceheader as a component
* horizontal gap of 24px between pageInfo and actions components
* align page Info value items
* accept react node as page info label and add tooltip to Default item
* update navId for edit datasource page in connections
* update unit testing for Title
* fix gen_que
* betterer
* prettier fix
* fix e2e test
* add data-testid to nameEditIcon selector
* fix tooltip text
* fix navId for connections datasources edit page
* fix e2e selector: change autoSizeInput to Input
* adding ellipsis to EditDataSourceTitle
* override grafana-ui titleContainer h1 styles
* UI cleanup and apply readOnly to default datasource switch
* add period
* datasource name validation
* title and page info alignment
* add feature toggle - dataSourcePageHeader
* restore basicSettings component and apply feature toggle
* go lint
* Revert "title and page info alignment"
This reverts commit 681ac51f11.
* remove editable fields from page Header - name, default datasource switch
* fix go test: toggle generator
* remove test id
* remove alerting badge in BasicSettings component
* Revert "remove alerting badge in BasicSettings component"
This reverts commit fb33ff9028.
* feature toggle on alerting badge
* rename component & filename
* move DataSourceInfo type
* change button to link in test
---------
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Miguel Palau Zarza <mpalauzarza@gmail.com>
* Log row: use clipboard button component for copy log button
* Copy log: adjust button styles to match
* Define line height
* Slightly improve line height
* 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 migration ordering
- Update migration in applyTemplateVariables to account for interpolation from expression datasource
- Update mock to ensure overrides are passed through correctly
- Update tests
- Update migrateQuery function name for clarity
* Fix tests
* Remove comment
* Center align cell items
* Change empty folder message + style
* Use new Text components in TypeCell
* Use new components in Move and Delete modals
* fix test
* Change spinner in DescendantsCount to the same font size as the text to prevent layout shift
* move permissions to a drawer when nested folders is enabled
* only show count when resource is folder
* Extract descendant count out into its own component
* remove label
* Logs: Fix duplicate uids by appending series refIds
* Fix id generation in loki live streams to be consistent
* Update public/app/core/logsModel.ts
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Fix test
---------
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Elasticsearch: Fix passing of limit and datalinks to logs data frame
* Update public/app/core/logsModel.ts
Co-authored-by: François Massot <francois.massot@gmail.com>
---------
Co-authored-by: François Massot <francois.massot@gmail.com>
* Support scoped tags API
* Tests
* Updates
* Updated components and language provider to certralize tag retrieval
* Update tests and add new tests for language provider
* Minor update
* Update test
* Loki: Add functionality to revert to initial query
* Add tests and fix button in button
* Use usereven instead of fireEvent
* Shortern onClick
* Add feature tracking
* Use testid instead of title
* Always show revert button
* Remove unused imports
* 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
* Enable correlations links for traceView formatted fields
* Add other links to the span UI
* Show both “legacy” and dataframe links
* bandaid test
* Remove special path logic, stringify all non strings before applying regex
* Fix test
* Do not create new instance of factory for every call, change header to correlations
* Get links from more than one field
* Remove categories
* Fix google cloud link tests
* Add test for multiple internal links
* Remove changes to datasources provisioning
* Added sorting, changed log link title
* Updates for new datasource picker
* Correct typing to ensure datasource selection
* Remove unused import
* Update labels
* Update labels and fix test
* Fix another test
* update test datasource to support template $seriesIndex in label values
* prettier
---------
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* 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>
* Plugins: Pass panel data in plugin extension context
Similar to https://github.com/grafana/grafana/pull/65861, this passes
the panel's data as part of the context object used when configuring
extension links.
This is useful if the plugin wants to conditionally show the link
depending on the presence or absence of certain features in the
data. For example in the ML plugin we only want to offer Outlier
Detection links for a query if the query returned more than 3 series.
* Update getPanelMenu extension test to include data object
* Tempo: escape regex-sensitive characters in span name before building promql query
* Make gen-cue
* Add type
* Add tests
* Test
* Minor update
---------
Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
* adds icon and text to the card if enabled in inifile
* make use of verbose settings
* add state to enabledInIniFile
* rename to configFound and removal of default values
* Exposes the scoped vars to UI extensions via context.
* reverted the interpolation when running a query via the query runner.
* adding scoped vars to test.#
* add bug fix for multiple nested functions as params
* add types for parser (#67067)
* add types for parser
* add comment for future work
* handle any function with 2 seriesByTags func params, add test
* adding load time metrics for app init.
* chore: add the `metrics.ts` to the CODEOWNERS
* moved file according to PR feedback.
---------
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Reset search state when navigating to a new search item
* Reset query on search select
* Spread initialState
* Remove unused import
* Only reset query
* Add test
* Fix spelling
* Change functionality
* Only applied saved filters when searching