Commit Graph

83 Commits

Author SHA1 Message Date
momesgin 6f251c8bf9
Extensions page design changes (#15522)
* update extensions tabs

* update version on cards + display date + update tooltips

* taking care of actions

* taking care of PluginInfoPanel

* update unit test file format

* unit tests

* add icon to the action button on the modals

* fix the modal's title and subtitle messages

* display tags on the info panel

* capitalize built-in

* remove unused code + update comments

* minor refactor

* keep active tab on refresh + rename

* fix spinning icon on the modal

* fix uninstalling icon

* update extensions po and e2e tests

* fix test

* fix import

* fix test

* fix flickering

* update installed tooltip

* fix test

* add back tests and fix warnings

---------

Co-authored-by: Mo Mesgin <mmesgin@Mos-M2-MacBook-Pro.local>
2025-10-03 09:09:52 -07:00
momesgin 9f87df2386
Charts actions on detail/wizard/tools pages (#15351)
* separate edit and upgrade on chart detail page

* separate edit and upgrade on tools page + fix tests + lint

* unit tests

* fix e2e test

* downgrade action + selected version on header + statuses order + banners position

* update actions

* wizard header

* actions on tools page

* unit tests

* fix header items click issue

* update downgrade icon

* rename property

* update selector

---------

Co-authored-by: Mo Mesgin <mmesgin@Mos-M2-MacBook-Pro.local>
2025-09-18 14:20:43 -07:00
momesgin 61af7ee162
fix mistakenly removed default icon (#15385)
Co-authored-by: Mo Mesgin <mmesgin@Mos-M2-MacBook-Pro.local>
2025-09-10 10:15:09 -07:00
momesgin 6e18b11a97
make extensions progress statuses consistent (#15357)
Co-authored-by: Mo Mesgin <mmesgin@Mos-M2-MacBook-Pro.local>
2025-09-09 09:07:33 -07:00
momesgin ef6d0a8ffb
15200 extensions page (#15224)
* update uiplugins page to use rc-item-card

* update tests

* fix tests

* fix selector

* fix visibility checks

* fix tests

* hide banner when loading

* remove wrong v-once

* styling

* fix import

* fix header actions alignment

* styling

* minor refactor

* unit tests

* minor refactor

* fix error statuses

* replace non-working useAttrs with a prop

* fix panel getting closed immediately

* consider footerItem type being optional when it's used

---------

Co-authored-by: Mo Mesgin <mmesgin@Mos-M2-MacBook-Pro.local>
2025-08-29 17:59:32 -07:00
Jiri Tomasek c5b4d8114e
Handle UI plugins with chart version and appVersion not matching (#14207)
* Handle UI plugins with chart version and appVersion not matching

This change adds handling for UIPlugins which are installed from charts
where chart version and chart appVersion don't match.

- Determine plugin upgradability by comparing UIPlugin version with chart appVersion
with a fallback to chart version if appVersion is not available
- Update PluginInfoPanel to handle plugin version not matching chart version by checking
appVersion first
- Update InstallDialog to handle plugin version not matching chart version by checking
appVersion first
- Display plugin versions in `appVersion (chart version)` format if appVersion differs
from chart version

Fixes issue https://github.com/rancher/dashboard/issues/14204

* Add tests for uiplugins chartversion utils
2025-07-31 14:52:21 +01:00
Alexandre Alves faa7fe3b60
A11y report fixes (#14530)
* fix item 2: All page content should be contained by landmarks

* fix item 4. Elements must only use permitted ARIA attributes

* fix item 6. ARIA attributes must conform to valid values

* fix bug on item 6. and fix item 7. <ul> and <ol> must only directly contain <li>, <script> or <template> elements

* fix item 8. Interactive controls must not be nested

* fix item 10. ARIA toggle fields must have an accessible name

* fix item 11. autocomplete attribute must be used correctly

* fix item 12. Form elements must have labels

* fix item 14. ARIA input fields must have an accessible name

* fix item 15. Buttons must have discernible text

* fix item 16. Images must have alternative text

* working on item 17

* finish fix item 17. ARIA role should be appropriate for the element

* fix wrong role in hidden inputs

* address pr comments
2025-07-10 10:09:09 +01:00
Richard Cox ce70f83265 Primary change - Fix and improve labelSelectors and vai auto updates
- labelSelector has two primary applicators
  - matching utils function
    - this should normally NOT be cached and not receive updates over sockets
    - this is done by stipulating transient = true
  - findLabelSelector
    - this should normally be cached and receive updates
    - this is done by stipulating transient = false
    - when applicable (workload and services detail page) we want live updates whilst we're on the page
      - we don't when we leave, so unwatch
- fix and align these two and their usages
  - ensure each input (transient) is correct for context
  - ensure response is in the correct format and handled correctly
- improved typing

Additionally
- Improve labelling for network policy ingress/egress label selectors
- Replace empty table with 'no details' in cis report detail page's list's sub row
- On services page handle the very weird use case of no visibility on pods
- Fix issue where extension catalog was not showing when refreshing on extension catalog page list
- Fixed an issue where we would ALWAYS show false positive invalid field warning in console
- Bump up default page size from 10k to 100k
  - this is for requests we make to the new vai cache outside of pages
  - it matches the default they use when proxying requests to target kube cluster
2025-07-03 14:25:37 +01:00
Alexandre Alves d269e5fd34
refactor catalog install and uninstall extension modals as a prompt modals (#14192)
* refactor catalog install and uninstall extension modals as a prompt modal + add unit tests

* remove todos

* address merge conflicts + revert change to structuredClone + update unit test
2025-05-08 17:11:11 +01:00
Alexandre Alves c9225d0632
refactor add repos and developer load extension modals as a prompt modals (#14191)
* refactor add repos and developer load  extension modals as a prompt modal + add unit tests

* fix broken unit test

* remove unused prop

* remove todos

* code cleanup
2025-05-07 08:39:40 +01:00
Alexandre Alves c37239ca13
refactor install and uninstall extension modals as a prompt modals (#14190)
* refactor install and uninstall extension  modals as a prompt modal + add unit tests

* remove old modals

* remove unused prop

* remove todos
2025-05-06 19:09:41 +01:00
Nancy Butler 4aaad3128b label installed extensions experimental or certified only if the installed version of the extension has the right metadata 2025-04-30 13:32:12 -07:00
Nancy Butler eb00164a6d only show experimental or certified labels on extensions if the latest compatible version of the extension has the labels 2025-04-30 08:39:26 -07:00
Phillip Rak 784a7410ad
Refactor pages so data prop no longer contains init logic (#13672)
* Assign route resources in `created()` hook

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

* Move init logic go `created()` hook

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

* Remove constants from data props

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

* Move init logic to `fetch()` hook

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

* Move vuex getters into computed props

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

---------

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-04-15 10:33:47 -07:00
Phillip Rak 920243fae9
Merge pull request #13505 from rak-phillip/task/13504-extensions-menu
Replace extension menu with `ActionMenuShell.vue`
2025-02-28 09:07:50 -07:00
Neil MacDougall e8e806a24d
Never show built-in extensions on the 'installed' tab (#13548) 2025-02-28 15:37:59 +00:00
Phillip Rak a123530d20 Replace extensions menu with ActionMenuShell
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-27 09:18:36 -07:00
Neil MacDougall 3665e77a1c
Don't show built-in extensions by default (#13469)
* Don't show built-in extensions by default

* Fix e2e tests and add tests for builtin tab

* Address PR feedback

* Address PR e2e test feedback

* Fix lint
2025-02-26 18:06:46 +00:00
Alexandre Alves e9d17074a5
add missing alt to image elements (#13384) 2025-02-13 11:32:38 +00:00
Alexandre Alves 0c411e96d3
Keyboard nav for extensions main screen (#13176)
* working on focus trap composable

* working on slide in panel refactor

* add change so that we dont have a change on the component diff

* fix slidein extension details panel key nav

* fine tune cluster badge trigger btn

* finish work on extensions page

* fix lint errors

* address pr comments

* fix problems of propagation

* update return focus for some modals in the extensions main screen

* remove dead code + fix focus selector return for add extensions repo and developer install modals
2025-02-11 10:47:55 +00:00
Alexandre Alves 34c74b8cc9
fix issue banner extensions prime users not being displayed (#12381)
* fix issue banner extensions prime users not being displayed

* add undefined condition

* add code comment

* fix e2e test
2024-10-30 10:20:26 +00:00
Richard Cox aedaca5b11 Add ui-extension-version annotation to dev loaded extensions to ensure it loads 2024-10-02 17:51:29 +01:00
Richard Cox a80c921018 Singleton versions fetcher to reduce changes and fix dup versions request on log in 2024-10-02 12:49:39 +01:00
Alexandre Alves f55eadc734 minor fixes 2024-10-01 12:10:54 +01:00
Jordon Leach 772be295bc
Refactor incompatibility check 2024-09-30 14:23:56 -04:00
Alexandre Alves bc51a79005 apply some fixes for extensions logic in light of Vue3 migration 2024-09-30 18:11:13 +01:00
Alexandre Alves eb426680dd
forward-port PRs 11997 and 12018 (#12046) 2024-09-30 18:10:36 +01:00
Cody Jackson 5052c2a8e8 Enabling `vue/require-explicit-emits` linting rule
https://github.com/rancher/dashboard/issues/11961
2024-09-19 09:58:53 -07:00
Phillip Rak b8af4da149 Remove extra `<template>` tags from components
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-09-12 15:19:41 -07:00
Nancy 85c5c28c22
Vue3 fix unit tests (#11776)
* remove $set from AKS validators

* fix cruGKE not rendering

* fix most aks unit tests

* fix crueks and eks config unit tests

* fix eks networking and nodegroup unit tests

* fix gke unit tests

* fix consumption gauge test

* fix namespacefilter tests

* fix command and taints unit tests

* fix questions unit tests

* fix hpa and service unit tests

* fix registryconfigs unit tests

* fix job unit tests

* fix longhorn unit tests

* fix addextensionsrepos unit tests

* fix rke2 basics unit tests

* fix container shell unit tests

* fix last aks pool test

* fix mount tests

* fix namespace and pv unit tests

* fix codemirror unit tests

* clean up aks, boolean, namespacefilter unit tests

* fix namespacefilter test

* remove redundant test case
2024-09-10 08:07:21 -07:00
Jordon Leach 3c5e6f8a1c
Remove unnecessary template wrapping extension tabs (#11704)
Enable tests

Replace "Rancher -" in title check
2024-08-27 08:28:37 -04:00
Cody Jackson 8d59cd5914 Skipping all failing unit tests for the Vue3 merge. 2024-08-22 21:12:40 -07:00
Phillip Rak a71857ce7d Unit test updates - partially fixed
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-08-22 16:09:56 -07:00
Cody Jackson f8029bb51f Fixing databinding where v-model.trim needed to instead be v-model:value.trim 2024-08-22 16:09:55 -07:00
Phillip Rak 97b58ca4f0 Update unit tests
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-08-22 16:09:54 -07:00
Phillip Rak 987f89f872 Fix remaining modals
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-08-22 16:07:04 -07:00
cnotv ff08d80e0e Lint: Manually fixed issues related to vueApp variable added by the script 2024-08-22 16:07:03 -07:00
cnotv 78d70353c5 Unit test: Migrate unit tests with the script 2024-08-22 16:07:03 -07:00
Cody Jackson 9b829c55ea Ran `yarn lint --fix` 2024-08-22 16:05:36 -07:00
Cody Jackson d5ce4fff2e Run the vue3 migration script
Commands run:

➤ yarn migrate
➤ git clean -fdx
➤ nvm use 20
➤ yarn
2024-08-22 16:05:36 -07:00
Phillip Rak 15b373403b Replace settings strings with enums
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-06-28 13:43:13 -07:00
Alexandre Alves 30d9b43351
make workflows from creator pkg trigger only on tagged release + make developer load set UIPlugin as noAuth: true + remove serve catalog console log from serve-pkgs (#11216) 2024-06-13 10:26:20 +01:00
Jordon Leach 6e939ba4f8
Support built-in plugin operator with feature flag (#11036)
* Support built-in plugin operator with feature flag

Update unit tests to account for feature flag

* remove waitForPage from addExtensionsRepository

* adjust before and beforeEach hooks in kubewarden spec

* adjust beforeEach hook on KW spec so that it matches what is on the extension spec, which is working as expected

* Add catchTargetPageException

---------

Co-authored-by: Alexandre Alves <alexandre.alves@suse.com>
2024-05-30 12:50:16 -04:00
Neil MacDougall f5431cbbaf
Add i18n string usage checker script (#10805)
* Add i18n string usage checker script

* Fix lint issues

* Add i18n check to GH Action workflow

* Update to node 16

* Update workflow to run script properly

* Allow script to return okay if when there are errors

* Add documentation

* Remove commented code
2024-05-02 20:52:15 +01:00
Cody Jackson 292c57dd6c Adding a banner that notifies the user that the version they want to install or update will be loaded without auth 2024-04-22 13:04:00 -07:00
Phillip Rak 9d7a13f354 Add new cache states to determine plugin init
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-03-26 09:14:27 -07:00
Phillip Rak fe4b3e5d57 Replace modal in Dialog
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-03-12 15:37:44 -07:00
Phillip Rak bc36082391 Replace instances of `<modal>`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-03-12 15:37:44 -07:00
Cody Jackson 36a31a397e More informative page titles 2024-02-12 20:11:45 -07:00
Neil MacDougall a0547780ef
Only add Rancher UI Extension repository if prime (#10399)
* Only add Rancher UI Extension repository if prime

* minor changes to logic for rancher prime and display of rancher repos checkbox + add unit tests

---------

Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
2024-02-06 15:36:53 +00:00