Commit Graph

383 Commits

Author SHA1 Message Date
Richard Cox d870c07cf1 Finish testing, fix search services, reference new rancher/rancher issues 2025-06-03 13:20:25 +01:00
Richard Cox 2a518c33f8 Update given BE progress 2025-06-03 09:58:47 +01:00
Richard Cox bbd8ee7eb8 Fix failure to fetch workload resources in monitoring chart install
- with vai on the filter fields need to be defined
- blocked on https://github.com/rancher/rancher/issues/48603
2025-06-03 09:58:47 +01:00
Richard Cox a3844ef14c
Merge pull request #14421 from richard-cox/pagination-extension-fixes
SSP: Fix two harvester related bugs
2025-05-30 08:41:16 +01:00
Neil MacDougall 0ababdda45
Add support for HTML page banners (#14356)
* Add support for HTML banners

* Add support for HTML banners

* Updates test so it runs okay after the text banner tests

* Fix for html tests running after others

* Improve e2e test reliability

* Add aria-labels
2025-05-29 17:15:21 +01:00
Richard Cox 138ab7783b Fix harvester machine config options
- machine config reaches out to specific downstream cluster with hardcoded urls
- vai on world needs to construct url with vai filters though
- previously these required cluster schemas (missing for cluster management pages)
- now they're schema missing safe
2025-05-29 15:55:19 +01:00
Richard Cox 91bd67fab4
Merge pull request #14313 from richard-cox/pagination-depaginate
Ensure features outside of SSP continue to work with ui-sql-cache on
2025-05-29 15:32:05 +01:00
Richard Cox e63c83483a Quote filter values that contain special characters 2025-05-28 13:31:30 +01:00
Richard Cox c446b7aff6 Merge remote-tracking branch 'upstream/master' into pagination-depaginate 2025-05-28 12:10:49 +01:00
Richard Cox 7bc66ab90d fix tests, more lint fixes 2025-05-28 12:05:48 +01:00
Richard Cox 980d4b06d9
Integrate new label select filtering (#12919)
* Test / Wire in new label filtering to limited places

- Wired in to
  - Workload detail page - pods and services (broken due to reverse selector)
  - Service Detail - Pods List
  - Service create/edit - Pod selector tab
- Also
  - Fix showPodRestarts in random location
- TODOs
  - Lots of testing / validation required
  - reverse deployment --> service selector (not services given deployment, but for each service contains pods from deployment)
  - workload model usages of pods getter
  - services model usages of pods getter
  - many many more....

* wired in, NOT tested

* improvement

* sdfdsf

* ryrty

* werer

* The great test off begins

* testing and tidying

* testing and tidying

* First good run

* tests, fixes and improvements

* updates

* Tidying up

* Fixes (namespace orientated), tweaks, updates

* Fix unit test

* Fixes for vai off

* Re-write `matching`
- handle namespaces better (given if the resource is namespaced
- better align with legacy matching fn (given specific scenarios that should return none or all)

* Lots of fixes, but mainly vai off --> pods list --> deployment detail --> pods list updates correctly

* fix lint, unit test

* e2e fix

* Fix weird plugins build validation failure (TS error on expected param for JS method with a default)

* Fix workload services

* changes following mini code review

* Only show pods tab if workload type supports it, always show pod resource table if tab is shown
2025-05-28 11:17:25 +01:00
Richard Cox 20e7af3e59 Merge remote-tracking branch 'upstream/master' into pagination-depaginate 2025-05-28 11:09:25 +01:00
Richard Cox 2e76c82e52 lint 2025-05-28 10:50:19 +01:00
Siva Kanakala d748be6e3a
add-ownerref-for-create.yaml (#13638) 2025-05-19 09:28:03 -07:00
Richard Cox 578368d662
Merge pull request #14233 from richard-cox/pagination-fix-ns-filter
Server-side Pagination: Fix project/namespace filter bug
2025-05-16 10:48:23 +01:00
Richard Cox d5b521d83b unit test fixes 2025-05-14 16:47:24 +01:00
Richard Cox 587d90f28e changes following review 2025-05-14 15:55:59 +01:00
Richard Cox 3f977655ef Revert changes related to projects in local cluster 2025-05-14 15:35:55 +01:00
Richard Cox d2101013fa Merge remote-tracking branch 'upstream/master' into pagination-fix-ns-filter 2025-05-14 15:02:28 +01:00
Richard Cox c11db5c4a4 Updates following PR review
- gate incremental page by page number on is steve url + is steve cache enabled
- update incremental object property names, document
- remove fix for event lister errors
- add generic getters to help determine if steve behaviour should be used (getters will also be used in future PR)
2025-05-12 16:35:04 +01:00
Richard Cox 6fcc30a3bb Fix initial quickLoadCount query param 2025-05-12 13:59:25 +01:00
Richard Cox 573a6f630c Handle de-pagination, plus mimic non-vai default `limit` and avoid unlimited response count
- steve depaginate is used by cluster and project bindings, snapshots
2025-05-08 17:33:47 +01:00
Richard Cox 0a3e214670 Ensure vai-on requests use the correct equality filter
- Syntax
  - vai off - `filter=x=y`
  - vai on - `filter=x~y`
- Used in code paths
  - indirectly via findAll action
    - urlOptions incorrectly used `=` in vai on world
    - fix - update getter to use correct equality given env
  - directly via `request` action's url arg
    - fix - updated to use urlOptions getter
- Actually used in
  - shell/chart/monitoring/index.vue to fetch workloadTypes
  - shell/components/Certificates.vue to fetch specific type of secret
  - shell/utils/v-sphere.ts to fetch to fetch secret created with a generateName
2025-05-08 15:21:54 +01:00
Richard Cox 072afc8401 Remove undeeded e2e step, don't use page pagination if norman enabled 2025-05-07 17:51:12 +01:00
Richard Cox 5b59f0edec Merge remote-tracking branch 'upstream/master' into pagination-with-incremental 2025-05-07 14:44:12 +01:00
Richard Cox b47b48ddcf Support incremental loading when vai cache is enabled 2025-05-07 14:42:41 +01:00
Alexandre Alves 50e1daccd5
Refactor AssignTo, MoveModal and feature flag modal as prompt modals (#14187)
* refactor AssignTo, MoveModal and feature flag modal as prompt modals + add unit tests + remove store mechanisms that were dedicated to these modals

* fix small issues with FeatureFlagListDialog and MoveNamespaceDialog

* fix merge conflicts + remove code comments

* address merge conflicts + remove text from template
2025-05-06 17:34:55 +01:00
Richard Cox 5a07a5ff90 Fix two vai on pagination issues
- Header project/ns filter was broken (changes mostly in mixin)
- incorrect resource filtering in local cluster given obsure or system namespaces
2025-05-01 18:10:59 +01:00
Jordon Leach 7e58161982
Initial `$shell` api - add `ModalManager` and `SlideInPanelManager` (#13840)
* Initial $shell internal-api - Add ModalManager and SlideInPanelManager components

* Use Teleport for Modal and SlideIn managers - Add unit tests

Unit test fix

* Add focus trap and tabindex to Modal and SlideIn managers
2025-04-16 15:09:05 -04:00
Jordon Leach 562c32df73
Add internal api scaffolding and documentation (#13839)
* Add internal api scaffolding and documentation

* Fix docs build

* Refactor `apiName` to a static method for proper enforcement

* Restructure idea around ts augmentation for internal apis
2025-04-14 13:11:47 -04:00
Richard Cox 760bf41d3f tweaks 2025-04-10 10:35:34 +01:00
Richard Cox f0638e8aab Initial commit 2025-04-09 17:06:16 +01:00
Richard Cox 91486e17d4 Updates 2025-03-10 15:19:36 +00:00
Richard Cox 3afaaccaff Wire in sorting/filtering clusters on on new human name label 2025-03-10 15:19:10 +00:00
Richard Cox e1ce7750ab Ensure new filtering syntax is used and enable vai tests again 2025-03-04 13:54:07 +00:00
Richard Cox de82273de8 Address failing plugin builds TS failure
error  in ../../shell/plugins/steve/steve-pagination-utils.ts:37:50

TS2339: Property 'name' does not exist on type 'Namespace'.
    35 |       if (hideObscure || hideSystem) {
    36 |         res.push(PaginationParamFilter.createSingleField({
  > 37 |           field: 'metadata.namespace', value: ns.name, equals: false
       |                                                  ^^^^
    38 |         }));
    39 |       }
2025-02-27 09:00:38 +00:00
Richard Cox ef05aab4f4 Update pagination settings (almost) ready for production
- 'almost' applies to enabling SSP by default
- Previously the ui-performance object contained a required set of resources to apply SSP to
- This isn't workable going forward where the available resources will be updated between versions
- Now the default is to use a set of default resources which can change between versions
- Users can override if they wish
2025-02-27 09:00:38 +00:00
Richard Cox 6913c70097 Fix to track backend changes for exact/partial matches 2025-02-26 14:54:31 +00:00
Richard Cox 7f2c00143e Wire in newly supported mgmt cluster status.connected property 2025-02-26 14:54:31 +00:00
Phillip Rak 566111496d Prevent activating shortkeys when modals are active
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-02-14 11:06:32 -07:00
Neil MacDougall 1e18d03f4c
Add support for modifying doc links and add support for different links for Rancher Prime (#13020)
* Add support for different doc links

* Adding missing e2e test tags

* Auth page not accessible to standard user (admin tests seem sufficient)

* Ensure types are generated for version file

* Update doc links

* Update to remove plugin remove for builtin extensions

* Change the plugin load status back to how it was

* Fix i18n issue

* Fix translation load for built-in extensions
2025-02-07 10:38:41 +00:00
Neil MacDougall 8001967416
Extensions: Add hooks to support virtual clusters (#11064)
* Add hooks to support virtual clusters

* Fix lint issues

* Refinements

* Update for Vue 3 changes

* Fix import

* Minor tweaks

* Fix bug causing e2e tests to fail

* Fix lint issue

* Rename internal properties and ensure they don't break clone/save

* Ensure we generate types for the plugins package to give us access to mapDriver

* Simpler approach

* Fix lint issues and add type

* Remove unused code

* Revery unnecessary changes

* Bug fix for finding model extension

* Factor out string constant and add provider display method

* Add experimental to API

* Update typegen.sh to use SHELL_DIR var

* Move type def

* Fix lint issue

* Address PR feedback

* Update steve-class.js so we always get an array

* Fix type definition
2025-01-31 08:51:58 +00:00
Richard Cox c7b2aa7fbe Encode the filter param that SSP uses
- covers cases like filtering for a kube version (v1.31.1+k3s1)
2025-01-24 16:55:06 +00:00
Richard Cox 09194418bf finish off functional stuff 2025-01-09 16:50:41 +00:00
Richard Cox fb203f945f tidying up ready for review 2025-01-09 11:26:18 +00:00
Richard Cox 05eabe99be Merge remote-tracking branch 'upstream/master' into pagination-remove-findall-1 2025-01-08 11:47:54 +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
Richard Cox cb87aa3b6e Remove ununused component, tweaks, update ResourceTabs events to be super ok 2025-01-07 15:31:15 +00:00
Richard Cox 11eda663bf WIP 2025-01-07 13:34:18 +00:00
Alexandre Alves 8a5cd702a4
fix keyboard nav for app bar (#12958)
* fix keyboard nav for app bar

* remove dones

* minor fixes based on another PR comment

* removed all space key for links + move floating-vue config to plugin definition

* rename tabbing-index to tab-order + add aria-label to main menu
2025-01-07 09:28:29 +00:00