* Connections: redirects to data sources
If Data sources page is the only child of Your connections, then the
NavLandingPage doesn't really make sense.
* DataSourcesList: do not show add button twice
If there are no data sources configured, then the DataSourcesList page
shows a large CTA to add a data source. Therefore, the add new data
source button in the header is redundant, let's remove it from there
in this case.
* DataSources: redirect to Connections after delete
The primary place of the DataSourceList page is under Connections,
provided that the `dataConnectionsConsole` feature is turned on.
Therefore, let's redirect there after deleting a data source.
* fix: use case-sensitive routes for Connections
The reason to do this is to have the backend route-guards work properly.
(The backend route guards are case-sensitive, thus if the FE would serve
the case-insensitive version, then the backend route guards could be bypassed.)
* tests: update the tests
* Keybindings: No global keybindings on chromeless pages
* simplify condition
* Refactoring
* Align name and file
* Move logic into AppChrome
* minor fix
* Update Page.tsx
* Fixing test
* Fixed tests
* More fixes
* Fixed more tests
* Fixing final test
* Fixed search in old nav
* navtree.go: update Data sources title and subtitle
* DataSourceList: move add button to header
* DataSourcesList: add buttons to items
The action buttons are added inside `<Card.Tags>` so that they end up at
the right end of the card, as it was designed.
The "Build a Dashboard" button's functionality is not defined yet.
* DataSourcesListHeader: add sort picker
* fix css
* tests: look for the updated "Add new data source" text
* tests: use an async test method to verify component updates are wrapped in an act()
* update e2e selector for add data source button
* fix DataSourceList{,Page} tests
* add comment for en dash character
* simplify sorting
* add link to Build a Dashboard button
* fix test
* test build a dashboard and explore buttons
* test sorting data source elements
* DataSourceAddButton: hide button when user has no permission
* PageActionBar: remove unneeded '?'
* DataSourcesList: hide explore button if user has no permission
* DataSourcesListPage.test: make setup prop explicit
* DataSourcesList: use theme.spacing
* datasources: assure explore url includes appSubUrl
* fix tests and add test case for missing permissions
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* feat(Connections): create sub-pages wrapped by `<Page>`
* feat(Connections): rename the Connections page and update routes
* feat(Connections): use new url for editing datasources
* refactor(Connections): remove unused tab components
* feat(Connections): update routes and nav titles
* tests: fix tests for Connections
* tests: fix typo in backend tests