Commit Graph

294 Commits

Author SHA1 Message Date
Alexandre Alves f206b540e8
fix problem with extra space and scroll on settings banner page (#14320)
* fix problem with extra space and scroll on settings banner page

* add v-if to windowmanager + prevent focus on slideInPanelManager close button if there is no slide in panel visible

* remove weird trigger-focus-trap on close button

* address flaky e2e tests
2025-05-15 08:45:17 +01:00
Phillip Rak dc30093509
Replace container logs actions with new dropdown menu component (#14172)
* Create new `useDropdownItem` composable

This composable defines common methods that can be shared across different dropdown menu item types.

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Create new `RcDropdownMenuItemCheckbox` component

`RcDropdownMenuItemCheckbox` specifies the styles and behaviors for a menu items that acts as a checkbox.

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Create a select item dropdown component

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Move container actions into dedicated component

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Toggle container logs actions based on environment

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Fix type for labeledSelect component ref

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Replace trigger mixin data with event.stop

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Fix typo: LocaleSelector

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

---------

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-05-06 10:50:09 -07:00
Phillip Rak 3ab9fb6b03
Update `namespaceFilter` accessibility features (#14214)
* Fix roles for namespace filter options

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Replace namespace filter icons with buttons

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Fix RcButton classes

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Update namespace filter roles and keyboard behavior

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Update aria attributes

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Fix issue with button label

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Update aria labels

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Update keyboard behavior

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Make close icons in chips buttons

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Add prevent modifier to namespace filter open event

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

---------

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-05-06 07:47:44 -07:00
Alexandre Alves d1dc8b2e21
refactor import and search header modals as a prompt modals (#14197)
* refactor import and search header modals as a prompt modal + add unit tests

* fix lint issue

* remove unused prop + fix e2e test

* fix merge conflicts
2025-05-06 09:52:14 +01:00
Neil MacDougall 9d25512ce8
Resource Search: Add ability to search by group (#14216)
* Resource Search: Search by group

* Improve clarity of feature text

* Fix lint

* Use different search
2025-05-02 09:03:54 +01:00
Alexandre Alves cb7cb52dbe
add role 'none' to hr elements in TopLevelMenu (#14121)
* add role 'none' to hr elements in TopLevelMenu

* add missing role and label to SideNav

* add aria-label to show/hide button in the Password component

* add role 'none' to hr elements

* add missing alt to user avatar image
2025-04-16 10:23:38 +01:00
Phillip Rak fd0ce57380
Remove deleted props from tooltips (#14054)
This change removes warnings that were printed to the console when hovering over primary navigation items. The `popperOptions` props was removed from floating-vue[^1] and hasn't done anything since we migrated to Vue3.

[^1]: https://floating-vue.starpad.dev/migration/migration-from-v3#removed-props

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-04-15 10:29:50 -07:00
Neil MacDougall 5ec05348e8
Ensure product-level navigation highlights the correct item (#14070)
* Improve navigation highlighting

* Tidy ups

* Add automated tests
2025-04-10 09:27:40 +01:00
Alexandre Alves 4af23f6d6a
working on issues reported in the a11y tests (#13609) 2025-04-02 09:57:46 +01:00
Alexandre Alves 76e92a803e
fix unclear functionality for filter inputs for a11y (#13836) 2025-03-23 18:03:37 +00:00
Alexandre Alves 913983e2df
fix issue with aria-role (#13813)
* fix issue with aria-role

* fix aria-checked by replacing with appropriate aria-pressed
2025-03-21 09:20:43 +00:00
Alexandre Alves 9ac4bb65c5
add missing aria-current to nav links (#13821) 2025-03-21 09:20:00 +00:00
Alexandre Alves 6b63952cbc
add missing arias to favorite action on masthead (#13800) 2025-03-19 09:18:48 +00:00
Cody Jackson e969b910cc Adding another indentation level in our navigation menu
Fixes https://github.com/rancher/dashboard/issues/11228
2025-03-18 11:03:15 -07:00
Cody Jackson 7847d5cd07 Fix FixedBanner so that we can show the appropriate stylized text also fix multi-line functionality
Fixes https://github.com/rancher/dashboard/issues/11951
2025-03-17 14:41:53 -07:00
Yonas Berhe 8f6e91e7ac add more accessibility tests 2025-03-10 17:22:04 -07:00
Phillip Rak dcad2cc321 Make terminal and editor escape sequence `Shift+Escape`
The escape key conflicts with modal editing when working in VIM mode. Using `Shift+Escape` helps to prevent that conflict.

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-03-05 14:38:08 -07:00
Alexandre Alves 871ebd1b9f
fix issue (#13571) 2025-03-04 12:22:50 +00:00
Alexandre Alves 3970a9ff63
fix misc issues for a11y (#13519)
* fix misc issues for a11y

* fix prop + fix issue with white area not resizing as whole shell window

* improve aria labels for shell resize
2025-02-28 15:56:18 +00:00
Richard Cox 7f2c00143e Wire in newly supported mgmt cluster status.connected property 2025-02-26 14:54:31 +00:00
Alexandre Alves 9664a29373
Fix issue with configmap description and pressing `space` shifting focus (#13509)
* update computed patterns that use refs

* update pattern
2025-02-26 09:45:34 +00:00
Cody Jackson d6c6778e16 Change the way we size the ns-glass element responsible for closing the dropdown if you click outside of the element
Fixes https://github.com/rancher/dashboard/issues/6748
2025-02-24 07:59:34 -07:00
Alexandre Alves 84c234383a
Fix textual descriptions for cluster appearance in multiple places (#13416)
* Fix textual descriptions for cluster appearance in multiple places

* address pr comments

* address pr comments
2025-02-24 09:00:54 +00:00
Alexandre Alves 52b516a5d9
Fix Header keyboard navigation (#13369)
* address header accessibility issues

* fix codemirror component not using refs + improve logic to check yaml editor focus on app modal

* add missing optional chaining

* fix unit test

* fix some failing e2e tests

* fix lint issue

* revert changes to namespaceFilter + revert changes to e2e tests

* revert e2e changes

* revert e2e changes

* add fix for configmap e2e test

* add unique name for configmap resource creation test

* test e2e fix

* address pr comments
2025-02-21 08:51:39 +00:00
Phillip Rak ea176eb358 Fix data-testid usage in RcDropdownMenu
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

Fix

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-18 17:18:36 -07:00
Phillip Rak 620e75ec1f Fix failing e2e tests
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-14 15:11:51 -07:00
Phillip Rak 5e5d95f7a1 Replace HeaderPageActionMenu dropdown with RcDropdownMenu
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-14 08:03:07 -07:00
Alexandre Alves 2786ad7612
add missing alt to image elements (#13383) 2025-02-13 11:44:10 +00:00
Phillip Rak e9b6d1967d Fix regression in NamespaceFilter selected items
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-05 15:03:36 -07:00
Phillip Rak ca3220a0db Remove top/bottom padding for user info
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-05 15:03:36 -07:00
Phillip Rak 6ef6147dbd Update avatar styles
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 10:00:04 -07:00
Phillip Rak 1dc914b697 Add new ghost button role
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:44:03 -07:00
Phillip Rak b9b1004a7b Add aria-labels for dropdown triggers
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:44:02 -07:00
Phillip Rak 8a173db084 Rename `RcDropdown.d.ts` to `types.ts`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:08 -07:00
Phillip Rak 2445fb52b5 Move `showUserMenu()` conditional to Dropdown container
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:08 -07:00
Phillip Rak 13fddf9ee8 Fix issue with displaying user info and associated separator
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:08 -07:00
Phillip Rak 32f630d17e Update e2e tests
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:08 -07:00
Phillip Rak 3f0ecd2cfd Add aria-label to dropdown menu
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:08 -07:00
Phillip Rak 4798685f8f Remove extra padding around buttons in header
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:08 -07:00
Phillip Rak 3e457f180e Add `btn-sm` class to the button component
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:08 -07:00
Phillip Rak 3b24ff9426 Replace user menu in header with RcDropdown component
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:08 -07:00
Phillip Rak 8283a8cee8 Rename popper slot to dropdownCollection
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:08 -07:00
Phillip Rak 54f5de9c5f Remove dropdown collection component
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:08 -07:00
Phillip Rak 11edbc1787 Move RcDropdown to Rancher Components
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:08 -07:00
Phillip Rak 7fedbda45d Clean up unused imports and console statements
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:08 -07:00
Phillip Rak 21170cab29 Replace action menu with new component
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:08 -07:00
Phillip Rak 679cca1c3a [POC] Add an accessible dropdown component
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-04 09:43:07 -07:00
Alexandre Alves 51bdc529db
add key nav to sidenav (#13177) 2025-01-24 12:54:37 +00:00
Neil MacDougall 3ff358c401
Show badge color for local cluster (#13077) 2025-01-13 16:30:16 +00:00
Richard Cox f980283813
Add server-side pagination to cluster explorer lists (#11672)
* cluster list now uses resource table

* New PaginatedResourceTable

* WIP

* add context to pag setting

* tidying up

* Add server-side pagination to cluster explorer events and general events list

* Servier-side pagination for catalog apps, cluster repo and operation

* Servier-side pagination for Service --> HPA, inmgress, services

* Server-side pagination for home page clusters list and side bar clusters

- Functional Changes
  - SSP now works after vue3 bump
  - Home Page Clusters list now uses server-side pagination
  - Side Bar clusters list now uses server-side pagination
  - Wire in now supported sorting / filtering by id and name used for table columns
  - Allow pagination to be enabled given a specific context
  - Call findPage without persisting to store

- New Pagination Tools
  - PaginatedResourceTable - Convenience Component, wraps ResourceTable with pagination specific props
  - PaginationWrapper - Convenience class to handle requests for resources and updates to them (avoiding store)

- Regressions
  - Side Nav menu ready state was `mgmtCluster.isReady && !pCluster?.hasError`, now ???

* fixes after merge. apply PagResTable to node list, vue3 fixes

* - Fix issue where list components containing PaginatedResourceTables would incorrectly fetch all resources anyway
- convert reminaing storage lists

* policy section

* fix async button in manual refresh mode

* fgh

* aaaaa

* Server-side pagination for home page clusters list and side bar clusters

- Functional Changes
  - SSP now works after vue3 bump
  - Home Page Clusters list now uses server-side pagination
  - Side Bar clusters list now uses server-side pagination
  - Wire in now supported sorting / filtering by id and name used for table columns
  - Allow pagination to be enabled given a specific context
  - Call findPage without persisting to store

- New Pagination Tools
  - PaginatedResourceTable - Convenience Component, wraps ResourceTable with pagination specific props
  - PaginationWrapper - Convenience class to handle requests for resources and updates to them (avoiding store)

- Regressions
  - Side Nav menu ready state was `mgmtCluster.isReady && !pCluster?.hasError`, now ???

* Iteration

Note - prov clusters is broken (only fetches local) due to blocking pr. breals
- notPinned list

* Fix dupe inStore
- remove from resource list, put in resource-fetch (used also by pag res table)

* Fix dupe inStore
- remove from resource list, put in resource-fetch (used also by pag res table)

* Two fixes
- changes namespaces kicked of side nav cluster requests (thought pinnedIds changed)
- fix generic lists re-fetching given ns filter changes (they don't have namespaced arg)

* fixes / updates

* testing/tidying

* WIP - Rest of workload lists

* finish off workloads

* tidying up

* fix non-generic list filtering by namespace

* remove comment, backport fix

* test fixes

* E2E: Ensure we wait for cluster entries to exist before clicking on them

* backport fix for local/api filtering

* Remove debug code

* Changes after review

* e2e fixes / debugging

* More e2e fixes

* More e2e fixes

* More e2e fixes

* Fix generic pages that filter on pagination

* Attempt to fix flaky vai test

* Fix after merge from master

* Updates following new indexed files

* Fix lint and test

* Changes given real cluster tests
- general fixes
- correct issue were sorting prov clusters on mgmt cluster props (issue in master as well...)
- bit the bullet, we now don't fetch all mgmt clusters on dashboard visit.
  - there could be knock on affects, but we'd need to remove it sometime in 2.11....

* Fix issues with diplaying rke1 data in home page
- includes https://github.com/rancher/dashboard/pull/12881

* Fix unit tests

* remove invalid sort/filter type

* Running through new indexed fields

* fix unit tests

* lint fixes

* Fixes after small review

* lint

* Test for check-plugin-gates pkg build from shell

* e2e fixes

* Testing new indexed fields with dev image

* tidyuing up imports in hope to fix ts error in check-plugins gate

* Fix failing check-plugin-gates
- caused by shell/scripts/test-plugins-build.sh importing list/catalog.cattle.io.clusterrepo.vue
- the component had been updated to a TS component
- check-plugin build outputs TS errors for a component file imports
- vs code shows no errors for imported file

* tidying up a smidge

* Many tweaks
- Remove final todo's
  - includes fix for service type clusterip/headless overlap
- Removed ununused ENDPOINT column (note ENDPOINT formatter used in other columns)
- Testing freshly added index fields

* Improve location of new place where componentWillFetch is set

* fix lint, comment updated

* Fix failing e2e tests
- fix cluster dashboard events test
- fix and greatly improve flaky events test
- fix hpa test
- functional fixes
  - fix sorting/filtering events by object type
  - fix hpa columns
2025-01-07 15:13:42 -07:00