* Add low hanging aria markup
* Add a list of radio buttons
* Add ref to put focus
* Add landmark markup
* Add labels to icon buttons
* Add radio button groupings
* Add keyboard focus styles
* Improve markup
* Update test selector
* Remove testid in favor of text
* Fiddle around with test labels
* Get correct testid selector
* Add aria-expanded to button
* Change order of quick select for keyboard nav
* Create headings for easier heading navigation
* Add another h3
* Add testid
* Use selectors in e2e test
* Add dataid selector for narrow absolute button
* Update e2e test with proper selectors
* Add more verbose aria-label
* Change editor to picker
* ValueMappings: Force overflowing modal content to scroll
* ValueMappings: Update unit tests
* Select: Portal Select to document.body, close menu on scroll
* Select: Fix tests + apply updates from https://github.com/grafana/grafana/pull/32833
* ValueMappingsEditorModal: Revert to using selectEvent in the tests
* Select: Fix remaining unit tests
* Portal: Rewrite Portal as a functional component so we can use useTheme2
* Modal: Remove modal styles from this PR
* Update E2E tests
* More unit test fixes
* Select: Fix remaining E2E tests
* Select: Create util method to select an option in tests
* Chore: Upgrades Cypress to 7.5.0
* updating e2e test not to use momen.
* Fix trace viewer tests
* Chore: changing to exact version and removing console.logs
* Tests: refactor to handle day diffs
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* UnsavedChanges: Move Change tracker to use Prompt
* Fix a lot of race conditions and stacking of changes in onConfirm and onDismiss
* Listen to save event
* add missing delay argument
* migrated the change tracker unit tests
* Updated snapshot
* Removed unessary action
* removed updateSourcePanel
* Fix hiding save library panel modal prompt when clicking discard
* change saved libray panel title and buttons so they are a bit different as Prompt and when used from save button
* Fixed issue with saving new dashboard
* Now all scenarios work
* increase wait time
* Fixed one more race condition
* Chore: update developer guide to use Volta
* Chore: Fix Volta config
* Chore: Add volta config to each workspace
* Chore: Add volta config to each workspace
* Apply suggestions from code review
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Update contribute/developer-guide.md
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
* Add e2e test for exemplars flow
* Check if data source is created
* Lets see what is going on
* Try again
* Updating the image maybe?
* Revert "Updating the image maybe?"
This reverts commit 968b44b0d9.
* Try with force
* Use electron
* Wait for new url?
* Wait?????
* Should be good now
* Revert e2e recording
* add default arc and don't display stats background without any stats
* Add node graph transform
* Use coloring scheme for the node graph
* Fix type
* Add tests
* Fix and update test
* Fix strict ts errors
* Fix ref handling
* Update test data to connect spans to a parent
* Initial commit
* Progress
* Update
* Progress
* updates
* Minor fix
* fixed ts issue
* fixed e2e tests
* More explorations
* Making progress
* Panel options and field options unified
* With nested categories
* Starting to find something
* fix paddings
* Progress
* Breakthrough ux layout
* Progress
* Updates
* New way of composing options with search
* added regex search
* Refactoring to react note tree
* Show overrides
* Adding overrides radio button support
* Added popular view
* Separate stat/gauge/bargauge options into value options and display options
* Initial work on getting library panels into viz picker flow
* Fixed issues switching to panel library panel
* Move search input put of LibraryPanelsView
* Changing design again to have content inside boxes
* Style updates
* Refactoring to fix scroll issue
* Option category naming
* Fixed FilterInput issue
* Updated snapshots
* Fix padding
* Updated viz picker design
* Unify library panel an viz picker card
* Updated card with delete action
* Major refactoring back to an object model instead of searching and filtering react node tree
* More refactoring
* Show option category in label when searching
* Nice logic for categories rendering when searching or when only child
* Make getSuggestions more lazy for DataLinksEditor
* Add missing repeat options and handle conditional options
* Prepping options category to be more flexibly and control state from outside
* Added option count to search result
* Minor style tweak
* Added button to close viz picker
* Rewrote overrides to enable searching overrides
* New search engine and tests
* Searching overrides works
* Hide radio buttons while searching
* Added angular options back
* Added memoize for all options so they are not rebuilt for every search key stroke
* Added back support for category counters
* Started unit test work
* Refactoring and base popular options list
* Initial update to e2e test, more coming to add e2e test for search features
* Minor fix
* Review updates
* Fixing category open states
* Unit test progress
* Do not show visualization list mode radio button if library panels is not enabled
* Use boolean
* More unit tests
* Increase library panels per page count and give search focus when switching list mode
* field config change test and search test
* Feedback updates
* Minor tweaks
* Minor refactorings
* More minimal override collapse state
* bump cypress to 6.3.0
* fix inspect-drawer spec
* fix panelEdit_base spec
* fix select-focus spec
* Apply suggestions from code review
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* add be.visible assertion to new-query-variable spec to avoid flakiness
* increase waits in new-query-variable spec to avoid flakiness
* increase waits in new-query-variable spec by another 500
* remove be.visible assertion added before
* Chore: trying to fix flakiness
* skip the new-variable-query e2e test
* Chore: refactor so we might avoid flakiness
* Revert "skip the new-variable-query e2e test"
This reverts commit 203c1875c2.
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
* Explore: Replaces navbar-button and overriden explore button css classes with ToolbarButton and cleans up scss & markup, removes ResponsiveButton
* Change live button text when paused
* For the dashboard toolbar button I need a transparent button so I refactored the states/variants into a new ToolbarButtonVariatn
* PageToolbar wip
* Progress
* Prgress
* Minor progress
* Fixed back button and responsive titles
* Fixed tv mode
* Updated
* support tv modes and playlist
* more progress
* Fixing lots of view states and responsive features
* Minor fixes
* review fixes
* Fixes to e2e tests
* Review fixes
* Refactor: Replaces initLock with state machine
* Refactor: removes some states for now
* Refactor: adds loading state in OptionsPicker
* Refactor: major refactor of load state
* Refactor: fixes updating graph in parallell
* Refactor: moves error handling to updateOptions
* Refactor: fixes the last cases
* Tests: disables variable e2e again
* Chore: removes nova config
* Refactor: small changes when going through the code again
* Refactor: fixes typings
* Refactor: changes after PR comments
* Refactor: split up onTimeRangeUpdated and fixed some error handling
* Tests: removes unused func
* Tests: fixes typing
* Removed Datadog-specific fields from config for annotation creation
* Added a custom form config option for annotation creation
* Added regex support to `selectOption`
* Minor changes
* Changed default panel screenshot name
* Removed default visualization type from `addPanel` config
... which, unless defined, will use the app's default (graph). This is the new approach for plugins which supports annotations.
* Select timezone from dashboard toolbar instead of settings
... and refactored `setDashboardTimeRange` for reuse on other pages via a now more generalized `setTimeRange`
* Added optional annotations to `addDashboard` config
* Added `explore` flow
… which reuses `configurePanel` which is very similar
* Minor changes
* Added an `editPanel` flow function
... and moved the internals of `addPanel` to a common function for use by both
* Added optional template variables to `addDashboard` config
* Use latest Cypress 4.x version
* Updated lockfile
* Fix lint error in types.ts
* Bump eslint and its deps to latest
* Add eslintignore and remove not needed eslintrcs
* Change webpack configs eslint config
* Update package.jsons and removed unused eslintrc files
* Chore yarn lint --fix 💅
* Add devenv to eslintignore
* Remove eslint disable comments for rules that are not used
* Remaining eslint fixes 💅
* Bump grafana/eslint-config 💥
* Modify package.json
No need for duplicate checks.
* Modify eslintignore to ignore data and dist folders
* Revert removing .eslintrc to make sure not to use certain packages
* Modify package.json to remove not needed command
* Use gitignore for ignoring paths
* Minor changes
* Only expect login “change password” notification for default passwords
* Optionally populate basic auth when adding a datasource
* Optionally match screenshot when adding a panel
... it's logically better, but the real reason is to appease Cypress which was cause a consistent request error for a single plugin (datadog-datasource). An error which could not be reproduced manually.
* Set time range when creating a dashboard
* Optionally set time range when opening a dashboard
* Default time range to 6 hours instead of 1 hour
* Minor changes
* Set time range when opening a dashboard
* Set UTC timezone when creating a dashboard
* Added flow for selecting options in custom select fields
* Fix flaky test
* Minor changes
* Fixed data source selection issue
… where it appeared as though the wrong one was selected
* Fixed “executing a canceled action” issue
... thrown from RxJS
* Minor changes
* Use UI for removing dashboards and datasources
… with an optional “quick” mode that instead does so via a request
* Improved URL helpers
* Simplified test teardown
* Added support for multiple tests
... instead of being forced to cram everything into a single test because the session was cleared
* Minor changes
* Remove console.* logger plugin
... as it doesn't work in Electron
* Only open/close panel editor options and groups when state is inverted
... meaning, only open when closed and only close when open. This avoids unpredictable states, causing inconsistent results.
* Support for adding multiple datasources and dashboards
... and having them all auto-removed when tests are completed
* Avoid page errors when removing dashboards and datasources [keep?]
* Wait for chart data before saving panel
... so that everything is ready when returning to the dashboard
* Cleanup
* addPanel now supports (optional) custom dashboardUid
* addPanel now supports (optional) visualization name
* Added CLI option for updating screenshot fixtures
* Added support for console.* functions within tests
* Refactored screenshot command for greater simplicity
* addPanel now sets a unique title
* Updated lockfile
* Resolve Cypress bin path
... instead of expecting it to be in a place that it may not be, depending on de-duping/flattening of nested dependencies
* Remove dashboard before removing datasource
... it makes more sense and it fixes random issues, perhaps something to do with how the backend is implemented.
* Updated lockfile
* Chore: upgrades Cypress to 4.5.0
* Refactor: splits up huge it into several
* Refactor: prevent flakiness
* Refactor: updates yarn.lock
* Refactor: changes after PR comments
* Refactor: uses e2e.flows instead of import
* Explore: Create basic E2E test
* Feature: adds e2e tests for panel inspector
* Refactor: adds ts-ignore because of type checking errors
* Refactor: changes after PR comments and updates snapshot
* Refactor: adds typings back for IScope
* e2e: adds e2e for panel edit
Co-authored-by: Andreas Opferkuch <andreas.opferkuch@gmail.com>
* Explore: Create basic E2E test
* Feature: adds e2e tests for panel inspector
* Refactor: adds ts-ignore because of type checking errors
* Refactor: changes after PR comments and updates snapshot
* Refactor: adds typings back for IScope
* Refactor: changes after PR comments
Co-authored-by: Andreas Opferkuch <andreas.opferkuch@gmail.com>
* Minor changes
* Fixtures path is now relative to the project directory
* URL support module now has individual exports
* Scenario context timing issues resolved
... caused by being ran synchronously, instead of as part of Cypress' asynchronous queue.
* Scenario context API now supports multiple keys per function call
* addDataSource flow accepts a config argument
… and optionally checks datasource health status
* Added readProvisions command
* Added addPanel flow
* Minor changes
* Only exclude installed packages that are not @grafana/e2e itself
* Explicitly load Cypress tsconfig for clarity
* Fix Cypress tsconfig
* it was trying to extend a config that is not published
* it needs to be commonjs
* Minor changes
* Revert CLI to JavaScript
... as Rollup is only accepts ESM modules and TypeScript would need to use the new incremental builds feature which causes weird Redux module errors.
* Minor changes
* Include Cypress support files in published package
* Added CLI
… with support for custom configurations (which Cypress does not currently support by default):
* Loads cypress.json from @grafana/e2e as a base config (via a custom Cypress plugin)
* Sets default values for project-level Cypress files (tests, etc)
* Optionally loads a cypress.json from the current working directory as overrides
* Updated lockfile
* Add mechanism for imperatively showing modals
* Migration work in progress
* Reorganise save modal components
* use app events emmiter instead of root scope one
* Add center alignment to layoout component
* Make save buttons wotk
* Prettier
* Remove save dashboard logic from dashboard srv
* Remove unused code
* Dont show error notifications
* Save modal when dashboard is overwritten
* For tweaks
* Folder picker tweaks
* Save dashboard tweaks
* Copy provisioned dashboard to clipboard
* Enable saving dashboard json to file
* Use SaveDashboardAsButton
* Review
* Align buttons in dashboard settings
* Migrate SaveDashboardAs tests
* TS fixes
* SaveDashboardForm tests migrated
* Fixe some failing tests
* Fix folder picker tests
* Fix HistoryListCtrl tests
* Remove old import
* Enable fixed positioning for folder picker select menu
* Modal: show react modals with appEvents
* Open react modals using event
* Move save dashboard modals to dashboard feature
* Make e2e pass
* Update public/app/features/dashboard/components/SaveDashboard/SaveDashboardButton.tsx
* Hacking old vs new buttons to make all the things look like it's old good Grafana ;)
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
* trying out api-extractor.
* works with our setup of build.
* wip.
* changed the packages so it works better with the api-extractor.
* Changes to make the api-extractor to work.
* cleaned up the api-extractor config files.
* added some more documentation.
* added tsdoc-metadata to gitignore.
* removed the generated docs (will do that in another PR).
* added execute permission to script for generating dosc.
* added so we will push generated docs to branch.
* will clean packages_api on abort.
* Fixed failing tests.
* fixed formatting issue with typedoc comment.
* temporarily disabled tslint rules about namespace until https://github.com/microsoft/rushstack/issues/1029 is resolved
* temporary enabled bable namespaces.
* updated build script.
* updated script.
* updated script with some colors.
* changed to camelCase.
* removed spacing.
* Starting to add documentation guidelines.
* added examples headline.
* added parameters and return values.
* Fixed merge error.
* changed so we use the eslint ignore syntax.
* changed to correct eslint ingnore comment.
* fixed some spelling errors reported by codespell.
* added script to generate docs in current folder.
* lerna bootstrap.
* removed file that should be ignored.
* updated locKFILE.
* referenced the code comments guidelines.
* updated packages.
* updated deps.
* Alphabetized tslint and tsconfig files
* Optimized tsconfig files
* Optimized editorconfig & prettier config files
… to reduce redundancy
* Switched to @grafana/tsconfig
… and:
* de-duped options
* removed options with default values
* Fixed nasty issue with types for nested slate-react
* Replaced TSLint with ESLint
* TSLint disables → ESLint disables
… also JSHint removals, which haven’t had an affect since it was replaced with TSLint.
* Compliances for ESLint, Prettier and TypeScript
* Updated lockfile
* Refactor: Adds params to visit
* Refactor: Restructures exported Pages somewhat
* Refactor: Moves more into new framework but holdup because of bugs in digest
* Refactor: Finish migrating templating e2e tests to new framework
* Refactor: Changes after merge with master
* Refactor: Removes weird change
* Refactor: Adds duplication test
* Refactor: Adds move down and move up variable asserts
* Refactor: Adds some test to value select dropdown
* Refactor: Adds ScenarioContext
* Refactor: Removes async
* Refactor: Adds video and reverts CIRCLE_SHA2 to CIRCLE_SHA1
* Refactor: Adds videos to release job as well