* Update shell/components/nav/TopLevelMenu.vue
Co-authored-by: Phillip Rak <rak.phillip@gmail.com>
* fix lint error with Trailing spaces not allowed in TopLevelMenu + add sneaky fix for cluster and project members side nav item not being highlighted
* make sure local cluster appears always on top of pinned and unpinned cluster lists in main nav menu + add unit tests
---------
Co-authored-by: Phillip Rak <rak.phillip@gmail.com>
* fix issue with double active main menu items in app bar + add e2e test to prevent regression
* Update shell/components/nav/TopLevelMenu.vue
Co-authored-by: Phillip Rak <rak.phillip@gmail.com>
* fix lint error with Trailing spaces not allowed in TopLevelMenu + add sneaky fix for cluster and project members side nav item not being highlighted
---------
Co-authored-by: Phillip Rak <rak.phillip@gmail.com>
* fixes i18n and small UX
* new layout design for the modal
* enables edit badge from cluster explorer
---------
Signed-off-by: scures <scurescu@suse.com>
* add mgmt cluster description to prov cluster description as fallbacks in home cluster list and main side nav clusters
* address pr comments
* add e2e to test description for rke1 cluster in home page
* address pr comments
* Fix race condition in loadCluster
* Revert new error and comments
* Improve navigation performance for products within the explorer product
* Remove unused getter
* Fix issue with not loading nwe cluster when changing clusters
* Fix bug where sidenav take a short time to update (was using queueUpdate)
* Fix lint issues
* Address PR feedback
- fixed scenario exposed by the project virtual type where call to allTypes ruled out all virt / spoofed types if basic mode has an inavalid entry (!groupForBasicType)
- however also removed the project virtual type. the nav item comes from `Project` group specified in `basicTypes` call)
- fixed a few things around the project group
- add label for project group
- explicitely set project group root of app
- fixed display of namespace icon for a menu item if there are no counts
* add logic to handle key combos + add route change on key combo press
* fix issue with tooltip position + add correct icon for when key combo pressed + added all logic to make key combo capture and route change work
* final adjustments + bug fix with width of text in side nav which caused horizontal scroll
* add e2e test
* finish key combo logic + finish e2e tests
* fix icon in dark mode
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
* Removing everything related to scrollTrigger.
The latest vue router seems to behave exactly as it does with the modified scrollBehavior so it can all be removed.
* Removing unused $nuxt.{suffixes} that I found
- routeChanged (didn't find any watches of this event)
- nbFetching (The only place reading this was a computed property which wasn't used anywhere)
* Replace the use of Vue[installKey]
* Removing some ssr rehydration code since we're not doing ssr
* Remove the remaining $nuxt.$on,$off,$emit and replace with the use of our primary store which already had related code
* Replacing usages of the .$nuxt on vue instances with globalApp references
* Removing SSR dead code
* Fixing an issue where extensions could still be referencing window.$nuxt. This now provides a deprecation warning.
* Migrating another $nuxt over to the window.$globalApp
* Removed the usage of Vue.config.$nux
* Removed the usage of Vue.util.defineReactive
- Saw that the Nuxt component wasn't needed any longer so I removed it instead of trying to work around Vue.util.defineReactive
* Re-run missing check
---------
Co-authored-by: cnotv <giuseppe.leo@suse.com>
* add logic to change copy of logout screen when logging out with an auth provider different than local
* fex e2e test
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
* add cluster description to home page cluster list and side menu clusters
* working on tooltip for long descriptions
* add tooltip to description on side menu
* remove console logs
* add tooltip to description on side menu + fine tune tooltip position
* finish tests
* fix e2e
* address test flakiness of repeated use of toggling main nav menu and not waiting for transitions
* address failing e2e tests + add missing array brackets to tests that only had tag as string (were not running)
* fix bug where clicking on home link wouldn't close the main nav + fix e2e
* update home link e2e getter with correct structure
* address #8854
* break long strings to next line
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
* resource edit AS yaml
* fix cruresource (yaml from form)
- lazy load the schemaDefinitions when needed, avoids sync all to createYaml before we have an async chance to fetch schemaDefinitions
* Fix questions
- there are only four places we use questions, none of which use schema, this is just to be safe
* cluster scan, plugins/fieldsForDriver, defaultFor, validationErrors
* pathExistsInSchema
- used to optionally show conditions tab/list in resource detail view
- logs of things in ingress list/edit
* createPopulated / defaultFor
defaultFor requires resourceFields, it's only used by createPopulated in one place to support machine configs without components
* wip
* WIP MONITORING.SPOOFED
- these aren't spoofed types, but secondary schemas
- testing fix blocked, primary schema's have resourceFields
* Move steve specific (resourceField) code to steve models
- create models for steve schemas and apply to cluster and management stores
- move resoureField based validationto steve model
- move pathExistsInSchema to steve store getter
- don't fetch schemaDefinitions on start up when saving prefs (not needed and blocking)
* comments / improvements
* (untested) refactoring
* Fix alertmanager definitions, add retry definition fetch
* Fix pathExistsInSchema for path length > 2
* Fix questions that accept schemas
- tested by adding Questions to random page and the node schema
* Fix to saving configmap part 1
- the save works but doesn't show data. the yaml is the same as before. debug info added
* Validation by resourceFields is a norman specific thing, so make it such
* small refactor
* Tidying up
* Remove rebase junk
* fix linting and unit tests
* fix unit tests
* fix linting from fix for test....
* Tidying up, fix alertmanagerconfig
* Remove unit test todos
* add unit tests for resource fields
* sdssdf
* Add unit tests for pathExistsInSchema
* JS --> TS
* Store schemas in local singleton cache to avoid hitting store
* fix minor changes from review
* cruresource changes following review
- improvement - remove spurious canDiff
- createResourceYaml - pass in resource to use instead of calc in code
* WIP changes to parseType
* Fix generic cloud credential and node driver forms
* handle missing reactivity given schema definitions not in store
* fix and add unit tests for `parseType`
* Fix create-yaml test
* Changes following review
- improved comments
- SchemaDefinitionCache is now per store (and is reset as such)
- typeRef now uses parseType
* Fix dep loop by moving route based helps in auth out to utils file
* fix unit tests
* Changes following review
- Improve performance of allTypes fn
- This consumed the majority of time within getGroups
- Reduced execution time by a half
- Change from running allTypes products * modes times, run it once per product
- Reduce the amount of times getGroups is called
* support old ui-banner setting structure + update unit test to cover this scenario
* fix lint issue
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
* add method to add class to highlight main menu items based on current route + make fleet routes use 'blank' cluster
* update e2e tests to check for active class on main nav menu in strategic specs that cover the main nav
* fix merge conflicts
* fix lint issue
* move higlight check to burguer menu po + remove duplicate condition check
* address pr comments
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
* fix(ContainerLogs): fix display error if log is truncated
* test(ContainerLogs): adding test cases for truncated log processing
* add test for empty string
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
* Remove conditional chaining in template
* Prevent app to break if no setting available
* Prevent to break if no mgmt cluster
* Prevent sidebar to break if no kube cluster
* Prevent breaking if no product available
* Prevent sort utils to break if no value is provided
* Add markup comments
* Replace getter mapping
* Prevent error if missing label for the inspected cluster
* Add tests for sidebar
* Initial Example
* Add toggle expand all
* Add panel resize
* Fix close and open after resize
* Fix expand all
* POC: Kubectl explain interface
* Fix some lint issues
* First version of the kubectl explain UI
* Improvements
* Fix lint
* Tidy up Open API data fetch
* Tidy up code for parsing OpenAPI
* Many tidy ups and simplifications
* Add error message if we can't load Open API Data
* Ensure action appears only when there is a resource
* Fix lint issue
* Test e2e
* e2e
* e2e
* USe canary browser
* Use firefox
* Try chrome version
* Auto accept prompt
* Accept
* Last try
* Install Chrome
* Run as root
* Fix paths
* Add quiet flag, fix paths
* Use browser path
* Try debugging port
* Further attempts
* Set path
* Add debug env var
* Try edge
* Use specific version
* Add allow downgrades
* Use Chrome
* Remove WIP
* Adderss PR feedback
* Fix for no cluster
* Address PR feedback
* Fix lint issue
* Fix position with banners enabled. Restrict products for which this is shown
* Fix lint issue
---------
Co-authored-by: Richard Cox <richard.cox@suse.com>
* Fixed app bar overlaps issue and active group highlight bug in firefox
* Fix group highlight for Cluster Management and other section
* Fixed overlap issues in home and other pages
* Fixed lint and revert test changes
* Added getter for showTopLevelMenu
* Added a showTopLevelMenu getter
* Fixed lint
```
`preventOverflow` modifier is required by `hide` modifier in order to work, be sure to include it before `hide`!
```
- Needed `hide` - https://popper.js.org/docs/v2/modifiers/hide/
* Added group highlight
* Made active group header bold
* Added active color variable
* Added namespace icon
* Added new spacing, style
* Fixed lint and cluster group highlight issue
* Fixed sub accordion style
* Change icon style
* Fixed icon alignment
* Fixed spacing issue
* Fixed spacing and lint
* Highlight active header when it is close
* When execing into a container, try linux and windows commands when we can't determine if the node is windows
* Fix lint
* Lint: Remove trailing white space
* Use error message rather than last error
* extra failover, caching last working os against pod, errors, tests
* add __mocks__ folders to eslint ignore patterns
* standard user test fix
* removed unnecessary try/catch logic
* Revert "removed unnecessary try/catch logic"
This reverts commit c263131927.
---------
Co-authored-by: Sean <sean.mchugh@suse.com>
- Moving the store setting to enable/disable filtering in the store to a function in a computed property caused havoc for churn
- Make this much neater by moving flag to the setup stage for both ns filter
- Given forced filtering is now not resource dependent have a high level utils function to determine if enabled
- This should have opened up the door to setting a nicer default then ALL_USER, however it's actually initially applied somewhere other than ns filter
- Fixed a bug where the all option [] was valid
> This uses a new endpoint that has yet to merge. See https://github.com/rancher/rancher/issues/40140
WIP
- Contains console.warns (via custom logger, can be disabled)
- Waiting for final BE endpoint changes to merge
- Contains TODOs to resolve on final enpoint changes delivered
Pertinent Points
- Incompatible with incremental loading / manual refresh
- Harder to get counts (need to sum up from different namespaces)
- Requires use of new steve pagination
- Enforced NS threshold has been removed
- The threshold only applies to the primary resource. This has issues when loading a low count primary (daemon sets) which depends on a very high count secondary (pods)
- Fixing this would involve knowing all secondary resources a list uses, which isn't currently possible (each resource is requested individually, need to know them all first)
- There is no way to subscribe to multiple namespaces (one or all)
- We mock this in subscribe by only persisting changes to resources from within target namespaces
- Everything should work with Advanced Worker enabled
* performance page spec file
* performance page spec file: fixed linting errors
* modified checkbox and radio-group-input files
* added components to support preference page testing
* added class for clusterrepo resource list component
* preferences page objects file
* user menu page objects
* small change to preferences test
* cr updates for button-group functions
* PreferencePagePo inherit from PagePo updates to manage url etc
* update validation for table rows per page test
* accidentally removed line of code
* update validation for Number of clusters to show
* minor lint fixes
* update validation for time format test
* update validation for date format test
* banner class and lint issues fixed
* dropbox po refactor
* button-group po refactor
* radiobutton po refactor
* checkbox po refactor
* updated comments in test file
* refactor dropdown pref page tests and listed box functionality folded into labeled-select.po
* ReposListPagePo class added and prefpage tests updated
* refactored ClusterManagerListPagePo to take clusterId as argument and updated spec files
* refactor user-menu.po and tests that use it
* update intercept logic to aliasing individual requests
* update data-testid to use kebab case (value has quotes inside selector)
* removed extra validation (causing flakiness)
* added scrollIntoView to checkVisible function
* consolidated files for ReposListPagePo and updated files which use the class
* made updates to pref page spec file: simplified intercept logic, added ckeckVisible, skip login landing page test, etc.
* fixed lint issues and updated intercept function
* fix waitForGoTo function and readded removed code
---------
Co-authored-by: Yonas Berhe <yberhe@Yonass-MacBook-Pro.local>
* Fix multi select styling so that the form field expands if not all items fit into a single line anymore.
Fixes https://github.com/rancher/dashboard/issues/7842
Signed-off-by: Bastian Hofmann <mail@bastianhofmann.de>
* Remove duplication in _select.scss
* Fix select heights in ContainerLogs, ContainerShell, ApplicationLogs and ApplicationShell components
Signed-off-by: Bastian Hofmann <mail@bastianhofmann.de>
Signed-off-by: Bastian Hofmann <mail@bastianhofmann.de>
- When there are thousands of entries certain actions (drop down opened, selection changed, etc) take a long time to complete (upwards of 5 seconds)
- This is caused by churn of the filtered and options computed properties causing multiple renders for each action.
- To break this multiple-render per cycle behaviour detatch `filtered` from the value used in `v-for`.
* display dashboard version on about page
* add space between commit branch and commit hash
* address PR comments
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
- add ability to pin the WindowManager component to Left/Right/Bottom
- add new component DraggableZone
- update yarn.lock, rancher/icons#v2.0.6
- adapt to light/dark theme
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
* Prevent errors if no resource is retrieved for NamespaceFilter; Add data-testid attributes for testing purposes and ocmments for readability
* Add NamespaceFilter component tests
* Add Workload loading unit tests
* Restore mokcs globally after each test
* Add issue number to TODO comment
* Prevent ESLint to format generated paths
* Add HTML ESLint Rules
* Format all the Vue HTML templates except Harvester
* Exclude Harvester package from linting HTML, keeping old formatting rules
* add missing check to template part so that workspace switcher is shown on an blank cluster
* Move complicated v-if in to computed property
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Richard Cox <ricox@suse.com>
* Implement Rancher Prime changes.
* Implement Rancher Prime endpoint.
* squash
* Implement Rancher Prime endpoint.
* squash
* fix proxy.
* Fix support page links.
* merge master.
* Fix nuxt config.
* test without /rancherversion
* Fix links.
* Merge tify up - rename back to hasSupport for less change
* Fix version metadata fetching
* Allow links to be edited
* Fix lint, revert changed to KeyValue
* Remove unused code
* Fix typo
* Add support for linkOptions
* Add name to component
* File an issue link should go to choose page
* Fix typo
* Fix issue with legacy settings
* Address PR feedback
* Remove todo that was done
Co-authored-by: Shavindra <shavindra@users.noreply.github.com>
* WIP: Working version
* Further refinement
* Working version
* Refactor to a product
* i18n
* Fix lint and tidy comments
* Empty-Commit
* Bump e2e
* Latest fixes, i18n
* Fix lint
* Fix lint issues
* Fix imports for standlone plugin build
* Only load plugins in dev
* Fix lint issue
* Fix template errors
* Fix operator setup
* Fix menu actions
* Address PR feedback
* Address PR feedback
* Add new preference for plugin developer
* Update icon support
* Add third-party and experimental banners to slide-in
* Add support for update/rollback of a plugin
* Address PR feedback - i18n
* i18n - one more string localised
* i18n - one more string localised
* Minor visual tidy ups
* Use banner for install warning
* Fix saefMode
* Fix lint
* Add some responsiveness to the cards page
* Fix lint
* Bump PR
* Add debug to list coverage reports
* splitting up user settings belonging to DEV and updating references on rancher + update settings page to individually control each of the splitted settings
* move view in api to advanced features
* update copy of option in user prefs + update logic for inheriting value from another pref when one is not set on the server/api side + add toggleLocale shortcut to missing layouts + other minor changes
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
* Created LocaleSelector component
* Updated backend on lacal changes
* Hide none option in language list
* Fixed hovered state and added down arrow to dropdown list
* Fixed preferences error on login screen
* Corrected order of check
* Added variable to stor value before login
* Fix locale saving when not logged in
* Removed commented code and add comments for variable
* Added local in user-preferences page
* Added loginc in commit for settign user Preference
* Changes local selector template as per the login and user preference page
* Removed extra class, fixed tags closing
Co-authored-by: Neil MacDougall <nmacdougall@suse.com>
* Created LocaleSelector component
* Updated backend on lacal changes
* Hide none option in language list
* Fixed hovered state and added down arrow to dropdown list
* Fixed preferences error on login screen
* Corrected order of check
* Added variable to stor value before login
* Fix locale saving when not logged in
* Removed commented code and add comments for variable
* Added loginc in commit for settign user Preference
Co-authored-by: Neil MacDougall <nmacdougall@suse.com>
* routing maybe
* remove nested edit views
* harvester custom routes
* fix loading imported dev cluster
* move harvester-manager hci.cluster type out of harvester pkg
* fixes for build-pkg
* fix harvester custom dialogs
* fix harvester pkg routing
* generateDynamicTypeImport hyphenated dirs
rename cloud_credential and machine_config back to cloud-credential and machine-config
* Appease linting
* Fix epinio pkg build
- Includes fixes for some dashboard component references
* Revert "Receiver credential secrets are deleted when secret is set to none"
This reverts commit 836460e2998959bcda0b14a9f6511f248980b7b5.
* Fix plugin modal cancel button in dark mode
* Ensure correct components loaded when a new version of a plugin is loaded
- The route matcher was never updated with new route-->component values
- This was due to `this.router.options.routes` not containing the result of `router.add`
- See https://github.com/vuejs/vue-router/issues/2280
* Revert "Revert "Receiver credential secrets are deleted when secret is set to none""
This reverts commit e524bb3d40ea7adfe35c38ec7870560625965d25.
* fix harvester manager->harvester routing
* rename dialogs
* move harvester-manager files out of harvester pkg
* Revert "remove nested edit views"
This reverts commit e835835943d63e74c50942884fec3706f8703047.
* plugin validators dynamic import - not working
* fix merge conflict
* fix harvester members
* fix conflict
* custom validators
* harvester table formatters
* members routing
* import path fixes
* harvester mutli load
* Port across tweaks made during dynamic plugin work
- harvester plugin can be bundled with the dashboard until dynamic work has been completed
- Nav directly to virt cluster dashboard instead of via /harvester-c-cluster
- Fix missing bottom border on virt cluster list, hide actions (as they're never populated)
* move config/settings and config/harvester-map
fix hci setting custom components
* fix harvester setting import path
* Move over SerialConsole and Novnc, remove harvester.notifications
- These components were so 1-1 with harvester in the end i moved them over
- Also removed the like-for-like generic.notification `harvester.notification` strings
* Remove isSingleVirtualCluster, most of isMultiVirtualCluster
* Fix two nav issues
- harv cluster members --> prefs --> click on-screen back
- dashboard --> prefs --> click on-screen back
Both of these would be better fixed by an incoming change to the default layout (don't show old content before switching page)
* Fix reload of project/namespace page
* Split out project namespace into it's own component (1 or 2)
* Split out project namespace into it's own component (2 or 2)
* use product hideSystemResources opt instead of isVirtual/product===virtual
* fix missing prop in header
* Move FilterLabel and CloudInitType to harv pkg + two other references
* Move Harvester Upgrade components to harv pkg
- Needs a review with Neil regarding generics
* rebase build+load not working
* fix harvester route in authenticated
* Experimental Changes
* Fix merge conflicts
* WIP Fix routing
- includes project/namespace and namespace pages
* Tidying up
* Move harvester core store to plugin, remove harvester code from authenticated flow
- harvester store is a steve store that now lives in the plugin
- harvester `loadVirtual` replaced with a shortened `loadCluster` in it's own store
- Also fix xterm css import
* Fix three routing related bugs
- Fix project/namespace create/edit/cancel/done flows
- Update harvester's loadCluster to better match loadCluster
- Make edit namespace page project resource agnostic
* Build fixes
* Fix create namespace button and other tweaks
* fix two issues with nav out of imported harvester cluster
* Fix alignment of action menu button
- Used in many places
- all generic table action menus
- global settings --> settings
- rke1 cluster detail page machine pool group actions
- project/namespace list project group actions
- resource detail page action menu
* Revert changes to app and pkg creators
- This should fix `check-plugins-build` gate
- It does hide the underlying issue, but that won't have been brought in by this PR?
Co-authored-by: Nancy Butler <42977925+mantis-toboggan-md@users.noreply.github.com>
* Use web worker to throttle counts and schema changes
* Delete nodes.md
* Address PR feedback
* Small tidy up
* Fix dependencies for plugins
* Address PR feedback
* Fix lint issue
- This was broken by https://github.com/rancher/dashboard/pull/6261
- The `activeNamespaceCache` depends on the product (fleet requires workspaces, everything else namespaces)
- This needs updating when going to or from fleet
NOTE - On `head` (but not `ui-dashboard-index` `latest`) refreshing on the explorer pods page does not show the correct namespace filtered pods
Small tidyup for `activeNamespaceCache` and `activeNamespaceFilters` getters