Commit Graph

29 Commits

Author SHA1 Message Date
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
Cody Jackson c77ee88b01 Adding `emits` to all rancher-components to fix linting rules 2024-12-04 09:04:19 -07:00
Phillip Rak 21050a3695 Create component `PageHeaderActionMenu.vue`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-10-02 10:09:39 -07:00
Phillip Rak 0e0a980f8b Replace `useStore` composable with vuex implementation
The `useStore` composable was implemented for Vue2 because vuex did not provide anything for the composition api. Now that we have migrated to Vue3, we have `useStore` exposed to us via Vuex.

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-09-11 09:21:22 -07:00
Phillip Rak 9a8adbccca Allow any validations to be toggled
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 13:35:35 -07:00
Phillip Rak 8b456b7cd2 Allow for expected validation errors
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 13:35:35 -07:00
Phillip Rak b407d367d9 Validate individual durations to allow for disabled inputs
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 13:35:35 -07:00
Phillip Rak b9bca4f69c Create a validator for duration format
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 10:23:08 -07:00
Phillip Rak d114448036 Move `Setting` type to `settings.d.ts`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 10:23:08 -07:00
Phillip Rak 7b05ef8e29 Add comments for validators
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 10:23:08 -07:00
Phillip Rak 1592e9c637 Resolve type issues with `useUserRetentionValidation`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 10:23:08 -07:00
Phillip Rak e5f8ec2273 Resolve lint warnings in `useUserRetentionValidation`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 10:23:08 -07:00
Phillip Rak a7cbb1ec8a Unit test `validateUserRetentionCron` & `validateDeleteInactiveUserAfter`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 10:23:08 -07:00
Phillip Rak bcb4600e37 Write unit tests for `validateDurationAgainstAuthUserSession`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 10:23:08 -07:00
Phillip Rak c63071b812 Conditionally validate user retention cron
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 10:23:08 -07:00
Phillip Rak 346b03c1b6 Add `requireDirty` prop to `useLabeledFormElement`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 10:23:08 -07:00
Phillip Rak 6f40eb3e71 Refactor validations to reduce duplication
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 10:23:07 -07:00
Phillip Rak 6471e14131 Refactor user retention validation as composable
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 10:23:07 -07:00
Phillip Rak 2c3346f481 Emit validation state when rules contain a value
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-29 10:23:07 -07:00
Phillip Rak 6cf779ecb4 Add translations for the user retention growl
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-06-27 10:12:16 -07:00
Phillip Rak c4721774a6 Update return type of `useStore`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-06-26 15:05:46 -06:00
Phillip Rak f2bf53015a Document `useStore()`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-04-25 08:18:55 -07:00
Phillip Rak 2fa472afbd Refactor i18n plugin to use install function
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-04-25 08:18:55 -07:00
Alexandre Alves 49123807b5 Reintroduce "Write tests for `useCompactInput` and `useLabeledFormElement`"
This reverts commit 8eae0e78f9.
2024-03-13 10:10:26 -07:00
Alexandre Alves c7b94ef829
Revert "Write tests for `useCompactInput` and `useLabeledFormElement`" (#10346) 2024-01-29 17:22:19 +00:00
Phillip Rak 30207d3dda Write tests for `useCompactInput` and `useLabeledFormElement`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-01-10 10:38:30 -07:00
Phillip Rak de4ce97060 Expose focused through composable
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-01-05 09:51:45 -07:00
Phillip Rak 823f5bc295 Add prop definitions to `useLabeledFormElement`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-01-05 09:11:25 -07:00
Phillip Rak fcbd73d24b Replace `Vue.extend` with `defineComponent` in `LabeledInput.vue`
Rewrote `compact-input.ts` and `labeled-form-element.ts` mixins as composables to address TypeScript issues when using mixins with `defineComponent`. The new composables are written to adhere to the conventions and best practices [^1] as best as possible, taking into consideration what's available to us in Vue 2.7.14.

Moving to composables positions us for a smoother Vue 3 migration.

[^1]: https://vuejs.org/guide/reusability/composables.html#conventions-and-best-practices

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-01-05 09:11:25 -07:00