* Update dependency moment to v2.29.4 [SECURITY]
* chore(moment): make sure nested moment deps resolve to moment@2.29.4
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* User Experience: apply the same pattern feedback for all copy to clipboard buttons
* add copy icon to all ClipboardButton use cases
* Change primary color for copy to clipboard in create token
* Add success button variant
* Remove copy confirmation from TableCellInspectModal because it's in the base component now
* Design tweaks to copy confirmation
- Only change the icon to tick to avoid the button changing size
- Change button to success green
- Only show copy confirmation state for 2 seconds
* revert TabelCellInspectModal text button back
* revert accidental change to ShareLink
Co-authored-by: joshhunt <josh@trtr.co>
* Initial work on new toolbar button
* Minor step
* Small progress
* Minor progress
* Minor fix
* removed console.log
* Removing stuff we don't need yet
* First stab at new page layouts behind feature toggle
* Simplifying PageHeader
* Progress on a new model that can more easily support new and old page layouts
* Progress
* rename folder
* Progress
* Minor change
* fixes
* Fixing tests
* Make breadcrumbs work
* Add tests for old Page component
* Adding tests for new Page component and behavior
* fixing page header test
* Fixed test
* AppChrome outside route
* Renaming folder
* Minor fix
* Updated
* Fixing StoragePage
* Fix for banners
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Import the mdx documentation file to PluginSignatureBadge.story.tsx and add to its export defaul
* Create the mdx file of PluginSignatureBadge with its information
* Fix signed PluginSignatureBadge status
* Modify text according to reviewer suggestions
* betterer
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Added mdx file for secret input
* Chore: Improve SecretInput story
* review related changes in docs
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* adds copy icon while hovering over log value, copys value to clipboard on click
* Show copy icon while hovering over single log value
* Add test to check for -> render of copy-icon while hovering a single log value
* Show copy icon while hovering over single log value
* refactor: remove commented out code
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Add topnav in Route
* TopBar: Good progress on a approach that looks promising
* Added some elements to top level
* Get page nav from route
* Progress
* Making breadcrumbs slightly more real
* Updates
* Memoize selector
* Removed some console.log
* correctly type iconName
* betterer updates
* Change setting to hideNav
* Rename again
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Table panel: Support multiple data links in default cell
* Table panel: Show data links for Image and JSONView cells
* Simplify DataLinksContextMenu api
* Betterer
* Use nullInsertThreshold and nullToValue in time series
* Allow for undefined timeRange to support certain candlestick uses of prepareGraphableFields
* Make sure null to value doesn't modify initial data
* Do a shallow values copy and avoid Array.push()
* Clean up null to value transformation.
* Add basic tests
* Remove redunant null threshold application flagging
* set nullThresholdApplied flag even when no null inserts were done
* Include nullThresholdApplied in test snapshot
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* unit test scaffolding for FolderSection
* remove redundant spinner + more test scaffolding
* more test experimentation
* clear localStorage between test runs
* more tests + add back spinner when renderStandaloneBody
* bit of tidy up
* update Spinner data-testid
* fix import ordering
* fix(grafana-ui): prevent module resolution failure where component-indexof appears as indexof
* chore(grafana-ui): update comment explaining need for alias plugin
* Fix random typo I found
* add 'useDataFrame' boolean to each layer type to determine whether the layer queues off of query data
* Add data frame picker to options layout depending on layer type
* change layer update logic to render features from a specific data frame. Lift data frame selection up a level in order to add some more complex error handling.
* add a todo to the MapLayerRegistryItem interface
* update optional arg in function signature for consistency
* move dataframe filtering to paneldata, revert layers to prior state
* commit refactor, need to clean up still
* pull copy-pasted code into its own function
* clean up comments
* Update layer.ts
* remove unused types
* fix spacing
* improve dropdown
* need to add dependency to this callback function, otherwise it will always use the context of the last layer
* add data query recovery logic to handle query renames
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* refactor(selectoptiontest): move helper function out of grafana/ui so testing-lib isn't in bundle
* test(selectoptionintest): update import location of helper function
* test(amroutes): put back missing selectOptionInTest helper
* test(selectoptionintest): clean up remaining file imports / exports
* test(queryeditor): fix failing import
* refactor(grafana-ui): reuse selectOptionInTest in SelectBase test
* Update dependency @types/jest to v28
* modern is now default!
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* add completeable interface
* add basic labels language
* render monaco editor for label field
* align styling in math expression field
* add unit tests
* fix broken test
* remove unused import
* use theme
* remove comment
* pr feedback
* fix broken imports
* improve test
* make it possible to override code editor styles
* use input styles and align border styles
* changed `onBlur` and `onKeyDown` handling
- `onCommitChange` is only called if `onBlur` or `onKeyDown` are not set
* added `runQueryOnEnter` flag to OperationParamDef
* only run query if `runQueryOnEnter` is configured
* changed `evt.type` check to `keydown`
* ServiceAccounts: refactor ServiceAccountRoleRow
* Refactor ServiceAccountRoleRow
* Refactor ServiceAccountProfile
* Refactor components
* Change service accounts icon
* Refine service accounts page header
* Improve service accounts filtering
* Change delete button style
* Tweak account id
* Auto focus name field when create service account
* Add disable/enable button
* Enable/disable service accounts
* Optimize updating service account (do not fetch all)
* Remove status column (replace by enable/disable button)
* Add banner with service accounts description
* Add tokens from main page
* Update tokens count when add token from main page
* Fix action buttons column
* Fix tokens count when change role
* Refine table row classes
* Fix buttons
* Simplify working with state
* Show message when service account updated
* Able to filter disabled accounts
* Mark disabled accounts in a table
* Refine disabled account view
* Move non-critical components to separate folder
* Remove confusing focusing
* Fix date picker position when creating new token
* DatePicker: able to set minimum date that can be selected
* Don't allow to select expiration dates prior today
* Set tomorrow as a default token expiration date
* Fix displaying expiration period
* Rename Add token button
* Refine page styles
* Show modal when disabling SA from main page
* Arrange role picker
* Refine SA page styles
* Generate default token name
* More smooth navigation between SA pages
* Stop loading indicator in case of error
* Remove legacy styles usage
* Tweaks after code review
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Get rid of useDisapatch in favor of mapDispatchToProps
* Tests for ServiceAccountsListPage
* Tests for service account page
* Show new role picker only with license
* Get rid of deprecated css classes
* Apply suggestion from code review
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Fix service accounts icon
* Tests for service account create page
* Return service account info when update
* Add behaviour tests for ServiceAccountsListPage
* Fix disabled cursor on confirm button
* More behavior tests for service account page
* Temporary disable service account migration banner
* Use safe where condition
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
* Apply review suggestions
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Remove autofocus from search
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
* Chore: transfer styling to Explore.tsx and convert to Emotion
* feat: create a component and export it
* Chore: replace by new component
* Chore: replace by new component
* Feat: create a story
* Chore: clean up
* Chore: clean up
* bump packages to jest 28
* changes needed for jest 28
* map react-colorful as well
* use customResolver and fix last test
* don't need react-colorful installed if we're using a custom resolver
* return correct thing in mock
* remove watchPathIgnorePatterns since we don't have node_modules anymore
* chore(typescript): remove sanitize_url.d.ts in favour of npm package types
* chore(toolkit): bump all webpack related deps inline with grafana core
* refactor(toolkit): prefer webpack types and use from imports for bundling
* feat(toolkit): bundle plugins using webpack 5 and babel
* chore(toolkit): but all eslint deps inline with grafana core
* refactor(toolkit): rewrite linting step to use new eslint node api
* chore(toolkit): bump jest dependencies inline with grafana core
* refactor(toolkit): update jest config for jest 27
* fix(toolkit): resolve toolkit if using yarn berry
* docs(toolkit): update instructions for developing with yarn berry
* chore(toolkit): remove yarnlink code as won't work with yarn berry
* chore(toolkit): bump remaining dependencies
* chore(toolkit): remove unused core.start task
* feat(toolkit): use browserlist when building plugins
* chore(toolkit): add browserslist dependency
* refactor(toolkit): resolve style loaders, update postcss options for webpack5
* chore(toolkit): put back grafana/data and grafana/ui
* docs(toolkit): improve instructions for developing toolkit locally
* chore(toolkit): clean up webpack debug and warnings
* chore(input-datasource): remove pnpwebpack plugin and update browserslist to solve failing build
* chore(renovatebot): remove toolkit package.json from ignorePaths
* revert(renovate): put back toolkit package.json in ignorePaths
* feat(toolkit): introduce babel plugins
* refactor(toolkit): remove runtime automatic from preset-react for earlier versions of react
* refactor(toolkit): add missing fallbacks to webpack config
* fix(toolkit): remove spaces from copy webpack glob so files are copied
* refactor(toolkit): fix up babel typescript support and copy browserlist on build
* chore(yarn): refresh lock file
* revert(toolkit): remove browsers list so plugins compile to ES5
* revert(toolkit): remove copying .browserslistrc
* allow SSR
* fix rollup commonjs default flag changed breaking in SSR
* revert wrong change
* avoid using dynamic imports
* fix test
* allow icon load in packaged version
* fix SelectBase to run on SSR
* add extra check for fixing tests
* revert wrong change
* allow SSR
* revert wrong change
* don't include emotion in the bundle
* fix wrong merge changes
* remove unneeded icon change
* use forked version of uplot
* remove unneeded bundle exceptions
* fix typescript issues
* update to latest uplot
* GraphNG: Fix thresholds by color not following data update
* Refactor dynamicSeriesColor to time series
* avoid exposing frames on builder
rely on seriesIdx & cached alignedFrame to grab field
handle dynamic fill recoloring
only recolor when not in a special gradient mode
* bail when opacity = 0
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* convert Slider tests to RTL
* slight update
* don't need to check they're in the document
* Update packages/grafana-ui/src/components/Slider/Slider.test.tsx
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* check below minimum value as well
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* refactor: replace uses of checked prop for <Switch> with value prop
* fix: remove spaces from ids
The ID format is stated as follows([source][1]):
> ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]),
hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
Since `QueryHeaderSwitch` is used in two places I created a new variable that replaces spaces with a dash in the label.
[1]: https://www.w3.org/TR/html401/types.html#type-name
* fix: allow Switch in AlertingSettings to be focused by keyboard
* fix: allow Switch in PromSettings to be focused by keyboard
Fixes#46472
Co-authored-by: Elfo404 <me@giordanoricci.com>
* move upload to http
* use storage from grafanads
* rever gomod changes
* fix test
* wip
* add upload func
* update upload func
* writing to uploads
* edit response from service
* use dropzone for UI
* modify response struct in service
* better read file
* set content type for svg
* restrict file types upload
* add test and clean up errors
* pass test
* fix backend lint errors
* limit type of files on FE
* add TODO for after merge
* rebase with storage changes
* comment out unused function
* update UI to not have 2 uploads
* only call upload on select
* use utils function to find * in path
* show preview on drag over
* not allowing upload of svg
* add preview to upload tab
* no console.log
* resolve conflicts
* refactor log line
* fix failing BE test
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Artur Wierzbicki <artur.wierzbicki@grafana.com>
* Move tab height and horizontal drawer height to themable variables so they can be referred to. Add a default height to tabbed container so it can set an explicit height. Add overflow: scroll to inspector content
* Use height variable that changes on resize
* Use css to set height
* Fix Date picker content when pane is splitted (#46900). Show narrow(mobile) content version.
* Change from boolean to value override and use it in calendar styles. Change calendar modal to be in center of screen.
* Be sure width division only happens on split view
Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
* Update dependency @testing-library/user-event to v14.1.1
* make this test more consistent
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Update dependency @testing-library/user-event to v14
* everything is async...
* everything is async pt.2
* Fix cascader tests
* hack the yarn.lock file to remove the old version of @testing-library/dom
* some more fixes!
* MOAR FIXES
* more fixes
* remove a bunch of places where we're wrapping in act()
* down to 7 failing tests...
* Fix arrow tests
* Fix rest of NavBarItem tests
* Fix last tests
* Use {Enter} instead of {enter}
* Revert "Use {Enter} instead of {enter}"
This reverts commit e72453bb52.
* remove some unused act imports
* Fix LibraryPanelsSearch tests
* more stable test
* More consistent test...
Co-authored-by: Renovate Bot <bot@renovateapp.com>