| 313d15cf | 18-Aug-2025 |
jason westover <jwestover@nvidia.com> |
Fix Unit tests and useI18n() misuse
Vue 3's vue-i18n requires useI18n() to be called within setup() or reactive contexts. Calling it in Options API data() creates disconnected i18n instances that ca
Fix Unit tests and useI18n() misuse
Vue 3's vue-i18n requires useI18n() to be called within setup() or reactive contexts. Calling it in Options API data() creates disconnected i18n instances that cannot resolve linked messages.
Component fixes: - Enable globalInjection in i18n.js for automatic $t injection - Remove explicit useI18n() imports from 84 components that incorrectly called useI18n().t in their data() functions
Unit test fixes: - Mock @/i18n module in jest.setup.js because Webpack's require.context() does not work in Jest, leaving the real module with no locale messages loaded - Re-export real createI18nInstance so i18n unit tests work - Update snapshots to reflect real translated text instead of raw translation keys - Fix b-form-radio/checkbox stubs to wrap content in div for proper data-test-id attribute inheritance - Remove duplicate i18n plugin installations from individual test files that caused 'already registered' warnings - Suppress expected missing-key warning in vendor overlay test
Tested: - Sanity testing on webui, ensured translations work. - All Unit tests pass (19/19) with no Errors or Warnings.
Change-Id: I9789acd823261eccc7affde0957dd22e8fec06b1 Signed-off-by: Jason Westover <jwestover@nvidia.com>
show more ...
|
| 75b02039 | 21-Dec-2025 |
Jason Westover <jwestover@nvidia.com> |
Migrate Vuelidate from v1 to v2 API
Complete the migration from Vuelidate v1 (vuelidate 0.7.7) to v2 (@vuelidate/core 2.0.3 and @vuelidate/validators 2.0.4).
Changes include: - Replace imports from
Migrate Vuelidate from v1 to v2 API
Complete the migration from Vuelidate v1 (vuelidate 0.7.7) to v2 (@vuelidate/core 2.0.3 and @vuelidate/validators 2.0.4).
Changes include: - Replace imports from 'vuelidate/lib/validators' with '@vuelidate/validators' - Convert static 'validations:' objects to 'validations()' methods which return the validation rules object - Update helpers.regex() syntax from v1 two-arg format helpers.regex('name', pattern) to v2 single-arg helpers.regex(pattern) - Create custom macAddress validator using regex since macAddress is not included in @vuelidate/validators v2 - Remove deprecated vuelidate 0.7.7 package from dependencies - Add unit tests for Vuelidate v2 migration verification - Fix DateTime store to continue with DateTime update even if NTP settings update fails - Fix Network Table components (IPv4, IPv6, DNS) missing @ok event handlers for Add modal dialogs - Fix CSR country dropdown by restoring COUNTRY_LIST data and moving useI18n() call to setup() function - Fix disconnected modals in Network page by using eventBus to communicate between child components and parent (hostname, MAC address, default gateway edit buttons)
Tested: - npm run build completes successfully - npm run test:unit passes 66 new Vuelidate validation tests: - VuelidateMixin.spec.js: getValidationState method tests - TableDateFilter.spec.js: Date range validation tests - ModalHostname.spec.js: Hostname validation tests - ModalMacAddress.spec.js: MAC address validation tests - ModalUser.spec.js: User form validation tests - Manual testing performed: - User Management: Create/edit user with password confirmation - LDAP: Enable/disable with conditional field requirements - Date/Time: Switch between NTP and manual modes - Factory Reset: Confirm checkbox validation when server is on - Network Settings: Add IPv4, IPv6, DNS addresses via modals - Network Settings: Edit hostname, MAC address, default gateway - Certificates: Generate CSR with country dropdown working
Change-Id: I0f6b5d89d1791b36977f1a3c16cbd10bca6a484a Signed-off-by: Jason Westover <jwestover@nvidia.com>
show more ...
|
| 741a3f30 | 11-Dec-2025 |
Jason Westover <jwestover@nvidia.com> |
Fix Vue 3 v-model and form event handling
Add proper Vue 3 v-model support to components that are used with v-model bindings from parent components:
- FormFile: Add modelValue prop with computed ge
Fix Vue 3 v-model and form event handling
Add proper Vue 3 v-model support to components that are used with v-model bindings from parent components:
- FormFile: Add modelValue prop with computed getter/setter, emit both update:modelValue and input events for backward compatibility, maintain internal state when parent uses @input instead of v-model
- Modal components: Add modelValue prop and isModalVisible computed property for proper two-way binding with bootstrap-vue-next
Fix form validation event handling by changing @input to @change for select, radio, and checkbox elements. In Vue 3 with bootstrap-vue-next, these elements do not fire @input correctly on first selection.
Components updated: - FormFile.vue - ModalConfigureConnection.vue - ModalAddDestination.vue - ModalUser.vue - ModalSettings.vue - ModalAddRoleGroup.vue - FirmwareModalUpdateFirmware.vue - FactoryResetModal.vue - ModalGenerateCsr.vue - ModalUploadCertificate.vue - DumpsModalConfirmation.vue
Change-Id: Ib7376fdff8e9ab5e764f5fae80ac05a761b70312 Signed-off-by: Jason Westover <jwestover@nvidia.com>
show more ...
|
| d36ac8a8 | 03-Nov-2025 |
jason westover <jwestover@nvidia.com> |
Migrate to Bootstrap 5 and remove Vue compat plugin
Complete migration from Bootstrap 4 (bootstrap-vue) to Bootstrap 5 (bootstrap-vue-next) and remove the @vue/compat plugin to finalize the Vue 3 mi
Migrate to Bootstrap 5 and remove Vue compat plugin
Complete migration from Bootstrap 4 (bootstrap-vue) to Bootstrap 5 (bootstrap-vue-next) and remove the @vue/compat plugin to finalize the Vue 3 migration.
Bundle size impact: - Before (Bootstrap 4 + bootstrap-vue): 535 KiB gzipped - After (Bootstrap 5 + bootstrap-vue-next): 511 KiB gzipped - Reduction: 24 KiB (4.5% smaller)
Package updates: - Update bootstrap 4.6.2 -> 5.3.8 - Update bootstrap-vue 2.23.1 -> bootstrap-vue-next 0.40.8 - Remove @vue/compat plugin - Update vue 3.4.29 -> 3.5.24 and related packages - Add mitt 3.0.1 for global event bus - Add vue-demi 0.14.10 for library compatibility
Bootstrap 5 CSS updates: - Replace directional classes: ml/mr/pl/pr -> ms/me/ps/pe - Replace text-left/right -> text-start/end - Replace sr-only -> visually-hidden / visually-hidden-focusable - Update media breakpoint xs -> sm (Bootstrap 5 removed xs) - Update color functions: gray("700") -> $gray-700 - Add form-switch border-radius for curved toggles - Update alert, table, toast, form, and button styles
Bootstrap-Vue-Next API changes: - Use createBootstrap() for plugin registration - Update modal footer slots: #modal-footer -> #footer - Fix form select events: @change -> @update:model-value - Add v-model bindings to modals instead of manual show()/hide() - Update toast system with custom plugin wrapping useToast() - Register components and directives explicitly
Vue 3 specific updates: - Replace $root.$emit with mitt event bus (eventBus.js) - Update render function from h(App) to createApp(App) - Add emits option to components - Use h() instead of $createElement in mixins - Add Vue 3 compile-time feature flags with documentation - Update event listeners: $on/$off to eventBus methods - Add beforeUnmount cleanup for event listeners
New components and significant additions: - src/plugins/toast.js - Custom toast plugin wrapping useToast() for Options API compatibility - src/components/Global/ConfirmModal.vue - Global confirmation dialog shim to replace Bootstrap 4's removed bvModal.msgBoxConfirm - src/eventBus.js - mitt-based event bus with Vue 2-compatible API - Navigation state preservation on page refresh implemented
Critical fixes: - Add global API interceptor to strip Vue reactivity from payloads - Preserve binary data (File, Blob, FormData) in API requests - Fix Generate CSR modal v-model binding for proper open/close - Remove debug logging and fix jest configuration - Fix responsive text visibility in AppHeader - Update BVTableSelectableMixin for proper row selection - Fix BVToastMixin VNode rendering for Vue 3
Vue 3 modal fixes (lazy-loaded components): - Add v-model support to network modals (ModalIpv4, ModalIpv6, ModalDns, ModalHostname, ModalMacAddress, ModalDefaultGateway) by adding modelValue prop, watcher on modelValue that triggers show(), and update:modelValue emit in resetForm - Remove lazy loading from TableIpv4, TableIpv6, TableDns to ensure modal component refs are available when v-model triggers - Fix modal title accessibility by adding title prop to modals (ModalAddDestination, ModalUser, ModalAddRoleGroup, etc.)
i18n fixes (computed properties): - Fix computed properties using i18n translations in ModalAddRoleGroup, ModalUser, and ModalUploadCertificate - Move useI18n() call from data() to setup() and return i18n object - Use i18n.t() instead of $t in computed properties and templates - Prevents "this.$t is not a function" and "_ctx.$t is not a function" errors in Vue 3
Toast notification fixes: - Fix toast progress bar visibility by setting progressProps to undefined (documented way to opt-out) instead of false - Change modelValue prop to interval for auto-dismiss timing - Remove temporary CSS display:none hack from _toasts.scss
Network settings fixes: - Fix checkbox @change event sending Vue reactive proxy object instead of boolean by casting with !! operator in changeDomainNameState and related methods in NetworkGlobalSettings.vue - Ensures API receives plain boolean values in PATCH requests
Navigation fixes: - Fix nav-link styling for navigation items without children by replacing b-nav-item with router-link in AppNavigation.vue - Prevents blue font color from .nav-link CSS class
Configuration updates: - Remove vue-compat webpack configuration - Add Vue 3 feature flags (__VUE_OPTIONS_API__, etc.) - Add .cursor to .gitignore
Accessibility improvements: - Add autocomplete attributes to password and credential inputs - Add modal title props for screen reader support
Build completes successfully and UI behavior matches pre-migration.
Extracted features (to be submitted in follow-up PRs): The following features were removed from this migration PR to keep it focused on the Bootstrap 5 upgrade. They will be submitted separately: 1. UnresponsiveModal - Server connectivity watchdog with auto-retry 2. Auth token persistence - sessionStorage support for X-Auth-Token 3. Hardware store error handling - try/catch, dynamic discovery 4. Login page connecting indicator - Backend polling with spinner 5. Test updates - Jest setup and snapshot updates for Bootstrap-Vue-Next 6. Documentation updates - Vue 3 and Vue I18n v9+ API documentation 7. Enhanced ConfirmModal - Feature-rich confirmation dialog with custom actions
Change-Id: Ib76a58f324b3c926cf536e6e4626e4271639de38 Signed-off-by: Jason Westover <jwestover@nvidia.com>
show more ...
|
| c5d60f52 | 31-Oct-2025 |
Hariharan Rangasamy <hariharanr@ami.com> |
Fixed linter warning messages
Warnings: src/components/AppHeader/AppHeader.vue 235:18 warning The "refresh" event has been triggered but not declared on `emits` option vue/require-explicit-emits
Fixed linter warning messages
Warnings: src/components/AppHeader/AppHeader.vue 235:18 warning The "refresh" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/components/Global/FormFile.vue 11:23 warning The "input" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/components/Global/Search.vue 64:18 warning The "change-search" event has been triggered but not declared on `emits` option vue/require-explicit-emits 68:18 warning The "clear-search" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/components/Global/TableDateFilter.vue 165:18 warning The "change" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/components/Global/TableFilter.vue 107:18 warning The "filter-change" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/components/Global/TableRowAction.vue 47:21 warning The "click-table-action" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/components/Global/TableToolbar.vue 16:27 warning The "batch-action" event has been triggered but not declared on `emits` option vue/require-explicit-emits 23:27 warning The "clear-selected" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/Logs/Dumps/DumpsModalConfirmation.vue 85:18 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/Operations/FactoryReset/FactoryResetModal.vue 122:18 warning The "okConfirm" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/Operations/Firmware/FirmwareFormUpdate.vue 6:9 warning `<template>` require directive vue/no-lone-template
src/views/Operations/Firmware/FirmwareModalSwitchToRunning.vue 7:16 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/Operations/Firmware/FirmwareModalUpdateFirmware.vue 7:16 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/Operations/VirtualMedia/ModalConfigureConnection.vue 127:18 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/SecurityAndAccess/Certificates/ModalUploadCertificate.vue 147:18 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/SecurityAndAccess/Ldap/ModalAddRoleGroup.vue 147:18 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits 163:18 warning The "hidden" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/SecurityAndAccess/UserManagement/ModalSettings.vue 200:18 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/SecurityAndAccess/UserManagement/ModalUser.vue 370:18 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits 386:18 warning The "hidden" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/Settings/DateTime/DateTime.vue 328:18 warning The "change" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/Settings/Network/ModalDefaultGateway.vue 103:18 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits 114:18 warning The "hidden" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/Settings/Network/ModalDns.vue 81:18 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits 92:18 warning The "hidden" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/Settings/Network/ModalHostname.vue 99:18 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits 110:18 warning The "hidden" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/Settings/Network/ModalIpv4.vue 148:18 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits 165:18 warning The "hidden" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/Settings/Network/ModalIpv6.vue 120:18 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits 135:18 warning The "hidden" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/Settings/Network/ModalMacAddress.vue 98:18 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits 109:18 warning The "hidden" event has been triggered but not declared on `emits` option vue/require-explicit-emits
src/views/Settings/SnmpAlerts/ModalAddDestination.vue 124:18 warning The "ok" event has been triggered but not declared on `emits` option vue/require-explicit-emits 139:18 warning The "hidden" event has been triggered but not declared on `emits` option vue/require-explicit-emits
Change-Id: I66fb82679cc12003ad435c5c73bb67c2d70b3658 Signed-off-by: Hariharan Rangasamy <hariharanr@ami.com>
show more ...
|
| 0c7f6849 | 05-Aug-2025 |
aravinths1 <aravinths@ami.com> |
Remove NoAccess references from privilege roles
The NoAccess privilege is not supported according to the Redfish schema, yet residual UI privilege role definitions still referenced it. This commit c
Remove NoAccess references from privilege roles
The NoAccess privilege is not supported according to the Redfish schema, yet residual UI privilege role definitions still referenced it. This commit cleans up remaining code fragments that displayed NoAccess-related descriptions in the web UI.
Resolves discrepancies between schema and UI by aligning privilege role displays with Redfish standards, reducing user confusion.
Change-Id: I1f21630019407e9b2bf223d2336bc110a6bfafab Signed-off-by: Aravinth Sri Krishna Raja Raghavan <aravinths@ami.com>
show more ...
|
| 24b377db | 24-Jan-2025 |
suryav9724 <suryav@ami.com> |
style: add Sass configuration for Vue 3
Configure sass in the vue.config.js file and remove the import of the scss file from each page. The styles are handled by the css loaderOptions in the config
style: add Sass configuration for Vue 3
Configure sass in the vue.config.js file and remove the import of the scss file from each page. The styles are handled by the css loaderOptions in the config file. Every component and page has the appropriate style applied. The appearance adjusts to the openBmc webui in Vue 2.
Change-Id: I3773c063646185b80b7bd61d05aa80a993cbd121 Signed-off-by: Surya Venkatesan <suryav@ami.com>
show more ...
|
| ee728e69 | 26-Dec-2024 |
suryav9724 <suryav@ami.com> |
Timeout duration error in account policy setting
On user management page fix the error while save the account policy settings with the automatic after timeout.
while changing the timeout duration t
Timeout duration error in account policy setting
On user management page fix the error while save the account policy settings with the automatic after timeout.
while changing the timeout duration the value is in string but the payload should be integer.
Add the parseInt in the timeout duration value while save the account policy settings with the automatic after timeout.
Change-Id: I69ab13af3fd34e4128d3f01b71b0ffd092fe9a06 Signed-off-by: suryav9724 <suryav@ami.com>
show more ...
|
| 825059ac | 04-Oct-2024 |
Surya Venkatesan <suryav@ami.com> |
i18n fix after vue3 merge to master
Fix i18n issue in the Power restore policy, Inventory LEDs, and User management page.
After merge the vue3 code to master the i18n Power restore policy, Inventor
i18n fix after vue3 merge to master
Fix i18n issue in the Power restore policy, Inventory LEDs, and User management page.
After merge the vue3 code to master the i18n Power restore policy, Inventory LEDs, and User management page got conflicts and old code retrieved in master. So unable to render the Power restore policy, Inventory LEDs and unable to disable the user in user management page
change the i18n.t method to i18n.global.t for the vue3 support.
Change-Id: I46f3f56632308ceaee321dd896e16e922d964b60 Signed-off-by: Surya Venkatesan <suryav@ami.com>
show more ...
|
| 69be824a | 23-Sep-2024 |
Surya Venkatesan <suryav@ami.com> |
Invalid feedback if condition change
For required, invalid format, minlength, maxlength, date, pattern validation if condition change in the few components
Change-Id: Id8eebc140301e48dde833a604ca92
Invalid feedback if condition change
For required, invalid format, minlength, maxlength, date, pattern validation if condition change in the few components
Change-Id: Id8eebc140301e48dde833a604ca92426ebf77c9c Signed-off-by: Surya Venkatesan <suryav@ami.com>
show more ...
|
| 90300e9f | 01-Aug-2024 |
Surya Venkatesan <suryav@ami.com> |
Add user validation in user management page
helpers and sameAs validations are not working in vue3 so the helpers and sameAS are imported from vuelidate/lib/validators. Invalid validation field like
Add user validation in user management page
helpers and sameAs validations are not working in vue3 so the helpers and sameAS are imported from vuelidate/lib/validators. Invalid validation field like required are not show so the if condition for invalid feedback alert field changed. Add user and delete user are working in the user management page.
Change-Id: I0133e02357048ffbc6206382b2a0a5c162e2384d Signed-off-by: Surya Venkatesan <suryav@ami.com>
show more ...
|
| de23ea23 | 11-Jul-2024 |
Surya V <suryav@ami.com> |
Vuelidate, I18n, and filter are upgraded to vue3
While navigating to the pages i18n, vuelidate, and filters errors occurred. i18n, and vuelidate code changes in each page adapted to vue3. Filter glo
Vuelidate, I18n, and filter are upgraded to vue3
While navigating to the pages i18n, vuelidate, and filters errors occurred. i18n, and vuelidate code changes in each page adapted to vue3. Filter global function for date and time format implemented in the main.js file and those files which as called the filter functions.
Change-Id: If1a2ee22d47750faef1c35ef2c263299067d9a20 Signed-off-by: Surya Venkatesan <suryav@ami.com>
show more ...
|
| 7d6b44cb | 23-Mar-2024 |
Ed Tanous <ed@tanous.net> |
Upgrade vue3 and all dependencies
Start the process of porting everything to Vue 3. I have most things working. npm run-scripts build works, npm install works. prettier passes. Styles load, logi
Upgrade vue3 and all dependencies
Start the process of porting everything to Vue 3. I have most things working. npm run-scripts build works, npm install works. prettier passes. Styles load, login works, webui loads.
This was primarily done using the linked documents below. It makes the following design decisions: 1. Vue is put in compat 2 mode, which allows most of the components to work as-is. 2. Bootstrap v4 is used along with bootstrap-vue to keep our components working. 3. Minor changes are made to load the latest versions of vue-router, vuex, and vue-i18n.
I suspect this patchset is good enough to start with, and we can clean up the broken things one patchset at a time. The things that need to happen are:
1. Get remaining features working again. This primiarily is vue-i18n for mixins, and non vue components. This likely needs to be done by not pulling in i18n into the non vue components, then using the .Vue files to do the internationalization in the component context, NOT in the mixin context. Alternatively, we could drop MixIns alltogether. 2. Get custom styles working again. Previously, we used some path hackery in vue.config.js to optionally pre-load styles. This stops working now that we're required to @import our modules. Likely we need some rearangement of the paths such that custom styles are a complete replacement (possibly importing the original) rather than additive with overrides. That's a guess, but I don't really see anyone else doing customization the way we've defined it here. 3. Bootstrap 5 no longer requires ANY custom vue modules, as it has dropped the jquery dependency. We won't be able to pull in bootstrap 5 all at once, so pull in bootstrap 5 under an alias, like "bootstrap5" that we can optionally import 5 or 4. 4. One at a time, start porting components over to Vue3 syntax and bootstrap 5. This will be the bulk of the manual work and review.
The only thing I think left is getting unit tests passing, which I commented out the pre-commit hook to make this PR.
Tested: Code builds. Needs better testing.
[1] https://router.vuejs.org/guide/migration/ [2] https://vue-i18n.intlify.dev/guide/migration/vue3 [3] https://vuelidate-next.netlify.app/migration_guide.html#package-name-and-imports
Change-Id: I5bb3187b9efbf2e4ff63e57994bc528756e2a981 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
| b2acbcaa | 08-Jul-2024 |
Farah Rasheed <Farah.Rasheed1@dell.com> |
Add a confirmation modal for disabling users
Add a confirmation modal in the user management table when users are disabled.
Change-Id: I06bb1c96abdc7fa895aec2fe2025e9039577ae1d Signed-off-by: Farah
Add a confirmation modal for disabling users
Add a confirmation modal in the user management table when users are disabled.
Change-Id: I06bb1c96abdc7fa895aec2fe2025e9039577ae1d Signed-off-by: Farah Rasheed <Farah.Rasheed1@dell.com>
show more ...
|
| 2b02103f | 22-May-2024 |
aravinths1 <aravinths@ami.com> |
Disabled the privilege dropdown for root user
By allowing root user privilege changes to Operator or Read Only, after login with root user seeing privilege access issues in some pages and not possi
Disabled the privilege dropdown for root user
By allowing root user privilege changes to Operator or Read Only, after login with root user seeing privilege access issues in some pages and not possible to change administrator again.
Allowed root user to change password alone and disabled the privilege changes
Change-Id: I2be93060fb30e1f08dc2ea20a30fb998dc83ee0f Signed-off-by: aravinths1 <aravinths@ami.com>
show more ...
|
| d1ef18e6 | 06-Apr-2024 |
Paul Fertser <fercerpav@gmail.com> |
Focus default action in modal windows
Users of common WIMP GUIs (as opposed to interfaces primarily meant for touch input) expect dialog boxes to have keyboard focus set on the button for default ac
Focus default action in modal windows
Users of common WIMP GUIs (as opposed to interfaces primarily meant for touch input) expect dialog boxes to have keyboard focus set on the button for default action so that it can be executed by a single key press. Usually that is chosen to proceed with the operation but in cases where that leads to data loss the UI designers often pre-select Cancel as a precaution.
This patch adds suitable property to all invocations of msgBoxConfirm() method of `this.$bvModal` BootstrapVue object. For regular actions the confirmation button is selected and can be activated by Enter or Space bar. For actions deemed dangerous Cancel is focused instead so it takes two key presses (first being Tab to shift the focus) to prooceed.
This also improves accessibility following the Web Content Accessibility Guidelines (WCAG) published by W3C.
Tested: manually verified that modals are consistently shown with the specified button focused, Enter and Space bar key presses produce the same effect as left pointer button click: when Cancel is focused it just closes the window, when OK is focused it sends the corresponding request to the Redfish endpoint.
Change-Id: I66bfd02e48e08dc18994b11bbdd5d6b3ea27047f Signed-off-by: Paul Fertser <fercerpav@gmail.com>
show more ...
|
| 8132399c | 27-Feb-2024 |
Ed Tanous <ed@tanous.net> |
Reformat files with new linter
All changes should be whitespace, and were done using npm run-script lint.
Change-Id: I943c6b435c5c872841af5affc1e89910468b5ca6 Signed-off-by: Ed Tanous <ed@tanous.ne
Reformat files with new linter
All changes should be whitespace, and were done using npm run-script lint.
Change-Id: I943c6b435c5c872841af5affc1e89910468b5ca6 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
| 6ad19aac | 21-Mar-2023 |
kirankumarb07 <kirankumarb@ami.com> |
Fix User Management Page issues title and Policy
This patchset will fix the following issues in the user management page
1. "lockoutThreshold" and "lockoutDuration" values are not shown in the acco
Fix User Management Page issues title and Policy
This patchset will fix the following issues in the user management page
1. "lockoutThreshold" and "lockoutDuration" values are not shown in the account policy model when we navigate to any other page and come back to the user management page account policy model. Fix - The "lockoutThreshold" and "lockoutDuration" values are monitored and updated in the model window by using the watch. When navigated from another page, the watch is not updating the values, so the default values are displayed. Initialized the value with an empty object, so the watch will get triggered and update the fields with proper values.
2. The User Management Page title is not translated properly. The router names are used to map each page's language objects. For the user management page, the router name and the object value in the locale file are different. Due to that, the title did not get translated properly. Fix - Changed the user management page title to match the locale file's language object key value.
Change-Id: I1582c9d528633465c65f5d78e31d3dc740252cb0 Signed-off-by: Kirankumar Ballapalli <kirankumarb@ami.com>
show more ...
|
| 3bf966a7 | 07-Feb-2023 |
kirankumarb07 <kirankumarb@ami.com> |
Add translation for a few missing UI elements
On the sensor page and user management page, some of the strings are not getting translated to the selected language. I have added this patch to add the
Add translation for a few missing UI elements
On the sensor page and user management page, some of the strings are not getting translated to the selected language. I have added this patch to add the multiple language strings to the missing strings.
Change-Id: I03ca43bb81708f85e913e39c6dfa24ab7f3de876 Signed-off-by: Kirankumar Ballapalli <kirankumarb@ami.com>
show more ...
|
| 2897447b | 05-Jan-2023 |
Sivaprabu Ganesan <sivaprabug@ami.com> |
Enhanced User Management page error message
Description 1: When WebUI creates the user with an already existing username the error message will display the exact failure reason.
Tested: Step 1: Log
Enhanced User Management page error message
Description 1: When WebUI creates the user with an already existing username the error message will display the exact failure reason.
Tested: Step 1: Login to webUI and navigate to user management page Step 2: Create new user with username "testUser1" Step 3: Create another user with same username "testUser1" Step 4: WEB UI will through the error message as "Username 'testuser1' already exists."
Description 2: User can able to disable and change the root user via WebUI Now restricted to disable the root user and changing the root user privilege.
Tested: Step 1: Login to Web UI with root user Step 2: Navigate to User management page Step 3: Try to modify the root user's details Step 4: WebUI won't allow to disable the user, username change and privilege change Step 5: Login Web UI with non-root user Step 6: Web UI won't allow to modify or delete the root user's details
Change-Id: I0e38215b51fb058984664ec38ae9613e18043ed7 Signed-off-by: Sivaprabu Ganesan <sivaprabug@ami.com>
show more ...
|
| 41057853 | 27-Dec-2021 |
Kenneth Fullbright <kennyneedsmilky@gmail.com> |
Set table busy state on load
- Add busy prop to tables
Signed-off-by: Kenneth Fullbright <kennyneedsmilky@gmail.com> Change-Id: I4416f12967c9a0ad6c8bb782c7d8de5c17fdd195 |
| b440616c | 26-Jul-2021 |
Sandeepa Singh <sandeepa.singh@ibm.com> |
IA update: Update access and control section
This is the fifth commit of the information architecture changes and has the following changes:
- The icon for access and control has been updated - Acc
IA update: Update access and control section
This is the fifth commit of the information architecture changes and has the following changes:
- The icon for access and control has been updated - Access and control section has been updated to security and access section - Security settings page has been updated to policies page and moved to security and access section - Client sessions page has been updated to sessions page - Local user management page has been updated to user management page - SSL certificates page has been updated to certificates page
Signed-off-by: Sandeepa Singh <sandeepa.singh@ibm.com> Change-Id: Ie93cee9002742ecf7d33615636f4f159f4395fc4
show more ...
|