Commit Graph

13 Commits

Author SHA1 Message Date
Alexandre Alves d3b802ab15
fix issue with Resources Select in globalRoles edit/create interface (#9210)
* fix issue with Resources Select in globalRoles edit/create interface

* address PR comments

* add missing check

* Minor improvement, add comments
- Did a deep dive on what this should actually be doing, added comments to explain
- We should prioritise methods to find a key via config before falling back on label and random string
- The opt.optionKey has been (previously) applied incorrectly. It should be the actual option key, rather than a key to find the option key
  - This is the root of the issue.
  - I don't think we should fix this here in case of breaking somewhere else
  - The changes in the PR are one's we should be doing anyway

---------

Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Richard Cox <richard.cox@suse.com>
2023-07-17 13:23:02 +01:00
Giuseppe Leo 01eeb0548f
Add recommended lint rules globally (#8997)
* Update configuration

* Create default config for eslint

* Restore plugin:vue/recommended

* Add exceptions and overrides

* Correct manually remaining issues

* Adding further picked exceptions groupped up

* Fix or disable specific cases manually and singularly

* Add naming linting exception

* Remove unused variable in component

* Move rules to default

* Autocorrect rancher/components linting issues

* Configure VSCode to use multiple files, to display linting for rancher components

* Disable jest lint hook restriction for string list component

* Autofix
2023-06-23 17:02:55 +02:00
Catherine Luse b41d734054
Merge pull request #6688 from bashofmann/logging-flow-match-namespaces
Add additional namespaces match field to logging ClusterFlow page
2022-12-16 18:19:58 -07:00
Nancy bc17dea8d5
Fix role form input event handling (#7562)
* allow cloning roles; fix unlabaled taggable select style

* fix role edit/view config style inconsistency

* fix role form input event handling
2022-11-30 08:57:31 -07:00
Nancy 8a0f8211bd
allow cloning roles; fix unlabeled multi-select style (#7258)
* allow cloning roles; fix unlabaled taggable select style

* fix role edit/view config style inconsistency
2022-11-22 08:29:47 -07:00
Bastian Hofmann 60ebcaff7f Add additional namespaces match field to logging ClusterFlow page
This also fixes a styling issue in the select fields on the Flow and ClusterFlow page

Fixes
2022-11-21 09:45:08 +01:00
Giuseppe Leo d2d4122bc0
Review HTML formatting rules (#6805)
* 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
2022-11-11 17:04:22 +01:00
Alexandre Alves 1e2baae84d
remove @input event from v-select (#7360)
* remove @input event from v-select as event is already sent by default by v-select

* adjust unit tests

Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
2022-11-09 17:40:43 +00:00
Sean 41ba49b6c2 Adds in UI-side validation for Ingress Form plus additional fixes.
Fixes #4575 Add in validator injection to form-validation mixin, add in "allTabsExtraContent" slot to "tabbed" for messaging that should span all tabs, Error component optionally displays as banner, InputWithSelect can now show validationMessage on text-box without a label, LabeledSelect can now show tooltip and validationMessage at the same time, Select component can now show validation message, adding and removing rules and rulepaths displays correct content, removing does not reload page (fixes #6319), ingress form shows proper validation messages for the following states: invalid "name" field, invalid request host, invalid rule path, invalid rule target service, invalid rule port, invalid default backend target service, invalid default backend port, either rules or default backend must be present. Ingress form is validated and "Create" button is disabled if payload is not validated as correct.
2022-07-21 13:55:38 -04:00
Giuseppe Leo 6422c1de77
Fix issue with inputs not updating data inside multiple forms while typing (#6070)
* Use plugins globally in Jest configuration over single statements

* Add checkspell terms

* Add test id and cleanup code for Upgrading

* Create test for Upgrading input actually updating values while typing

* Handle missing terminationGracePeriodSeconds value in the spec qhile hanfling Upgrade value

* Replace Deployment Upgrading input event strategy with blur

* Remove container input listener, over single input emitters, to avoid issues in case of blur

* Extend tests to all the inputs to update the data in the Upgrading tab

* Removed deprecated components

* Correct vue-select import in Vue within Jest setup

* Add vue-select type

* Create form tests sample for input with custom select component

* Create unit tests for all the forms

* Create test for Upgrading without verify value

* Changed from component to query selectors in select input unit tests

* Prevent multiple events due inconsistent event input pattern in network update for Harvester

* Correct TS complain about Vue logic

* Add issue number to TODO
2022-06-20 11:25:49 +02:00
Phillip Rak 3c23d90b0d
Port rancher components to TypeScript (#6073)
Summary

This ports the components under pkg/rancher-components to TypeScript. Take note that this change also touches some areas outside of pkg/rancher-components, including

    shell/mixins/labeled-form-element.ts
    shell/mixins/compact-input.ts
    shell/components/form/LabeledSelect.vue
    shell/components/form/Select.vue

Making changes to these components was required to properly work with the mixins used for pkg/rancher-components/src/components/Form/LabeledInput/LabeledInput.vue. Perhaps these would be good candidates to port to Rancher Components next..

Fixes #5932
Areas or cases that should be tested

We'll need to review a good range of usages for the modified components to check for regressions. I'm mostly concerned about type errors or warnings that might be raised during runtime.
2022-06-07 10:36:37 -07:00
Phillip Rak 72b36cb360
Create Rancher Component Library (#5504)
This adds a new project for Rancher Components under `pkg/rancher-components` and replaces components used throughout dashboard with the versions used here. All imports for the following components have been updated:

```
  |- BadgeState.vue
  |- Banner.vue
  |- Card.vue
  |- Form
    |- Checkbox.vue
    |- LabeledInput.vue
    |- LabeledTooltip.vue
    |- RadioButton.vue
    |- RadioGroup.vue
    |- TextAreaAutoGrow.vue
```
2022-05-24 15:09:53 -07:00
Richard Cox 25acc1f8eb Plugins: Rejig files to new shell locations (#5623)
* Doc

* v0.7.0

* v0.7.1

* v0.7.2

* Add creators

* v0.1.14

* v0.1.17

* Add Yarn link

* Tidy ups and typos

* Allow models to be loaded from plugins

* v0.1.15

* v0.1.18

* v0.6.6

* Improve readme, fix cyperss log msg

* v0.1.17

* v0.1.19

* v0.6.7

* v0.6.8

* Fix logo ref when in shell

* Fix lint issues

* Fix error in example

* Fix script to work on linux

* Add ability to revert moves without losing changes

* Fix bug with custom models in a plugin

* Fix build of UI packages

* Add dist-pkg to .eslintignore

* Pull out util from extend-router to prevent router being pulled in UI packages

* Update PLUGINS.md

* Remove duplicate dependency

* Reduce size of built UI packages

* Share codemirror. Other tidy ups

* Further improvements

* Tidy ups to support i18n in plugins

* Clen up add comments

* More clean-ups and comments added

* Rename from extension to plugin

* Missed file in rename

* v0.6.9

* TIdy ups following rename

* v0.1.20

* v0.1.21

* More refactor and tidy up

* v0.1.22

* v0.1.18

* v0.1.19

* v0.1.23

* v0.6.10

* Version Packages. Improve naming. Unload.

* v0.6.11

* v0.1.20

* v0.1.21

* v0.1.24

* v0.6.12

* v0.1.25

* v0.1.22

* v0.6.13

* Fix issues when plugin is builtin

* Add missing files

* Fix lint issues and watcher ignores

* Fixes following review

* v0.1.28

* v0.1.31

* v0.6.20

* Fix coer.js version

* Fix bug where plugins included via npm don't work

* Changes post merge

* Move plugins doc to dev guide, add note at top of README

* Update cypress version

* Add note about the reset --hard in rejig -d

* Fixes post merge

* Rename @ranch to @rancher and ad plugins

* Improve routes support, add package assets support

* Add uninstall hooks and pass interal opts

* Fix rejig script

* Minor fixes

* Routing tweaks
- attempted to improve `addRoutes` typing, failed a lot
- improved typings in plugins.ts
- added "@pkg/*" entry and vue-shim (for importing components) to the pkg creator
- fixed some linting
- safely fail when Verdaccio isn't running
- fixed some typos

* Remove frontmatter-markdown-loader reference from nuxt-config

* Revert "Remove frontmatter-markdown-loader reference from nuxt-config"

This reverts commit 29ef6f2f7b.

* Exclude creators from dashboard build

* Revert "Exclude creators from dashboard build"

This reverts commit 8ede93ee7c.

* Ingore creators via tsconfig
- We're still susceptible with vue shims in multiple packages
- Need to determine why packages can't use shim from route
- Probably need to move `./vue-shim.d.ts` in to `./shell`. Needs testing with a pkg that imports a component

* After rejig

Co-authored-by: Neil MacDougall <nmacdougall@suse.com>
Co-authored-by: Neil MacDougall <nwmac@users.noreply.github.com>
2022-05-10 10:04:02 +01:00