summaryrefslogtreecommitdiff
path: root/src/views
AgeCommit message (Collapse)AuthorFilesLines
2020-03-06Persist language settings using local storageDixsie Wolmers1-2/+3
When user logs in, language setting will be stored in local storage. Once stored, user does not have to re-select preferred language, but can still update language settings on the login page. Before a language is saved to local storage the locale = null Renamed 'en.json' to 'en-US' because the vue i18n plugin defaults to 'en-US' when a language is not selected or null. https://github.com/kazupon/vue-i18n/blob/v8.x/src/index.js#L67 Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Change-Id: I577db3c4578eab30fbfae997dad0ece456fdf231
2020-03-06Add power operations pageYoshie Muranaka2-0/+186
Add route, component and Control requests to enable power operations (power on, soft and hard reboot, soft and hard power off). This rewrite includes updates to use Redfish endpoints. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I54784b8cc1b6260e44e708c260ea4a531fc0a629
2020-03-05Fix float-right mixin build warningYoshie Muranaka1-5/+1
Bootstrap Sass mixin float-right is deprecated, swapped to use utitlity class instead. This will fix warning: WARNING: The `float-right` mixin has been deprecated as of v4.3.0. It will be removed entirely in v5. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ib94fff09c9c218143335f9021e0dfe213294b426
2020-03-05Refactor user management componentYoshie Muranaka1-8/+2
Removing dedicated methods to get user accounts and settings since component methods aren't reused and subsequent requests after initial load are handled on Store level. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I18bc18eea0e2e47af01afb518ccd7f0e99c414ab
2020-03-03Add translation to user management pageYoshie Muranaka3-59/+112
Updated TableToolbar component to handle label translation outside of the component which is more consistent with bootstrap table component patterns. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ic2e75e327f6a6067905c541f9a3ea55c5d103f4b
2020-02-29Move Firmware version call to use RedfishDixsie Wolmers1-5/+6
Updates firmware store to use redfish api for bmc and host firmware version. Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Change-Id: Ib545d62b5211d141307364c0e45a3462f85e9d90
2020-02-28Format date and time for international localesDixsie Wolmers2-3/+9
Uninstalls vue-date-fns and uses toLocaleDateString() method to return formatted date and time. Date language is set by i18n and time/timezone is formatted by browser locale. Uses vue filter to format date and time as: - short month, day, year, time and timezone - 'en' example: Feb 23, 2020, 3:40:25 PM CST - 'es' example: 25 feb 2020 14:23:36 GMT-6 - hour12 value is determined by browser default Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Change-Id: I4fe8c51f5437cef263f1e0ea4184c0b552c85f4d
2020-02-26Update language json structureYoshie Muranaka8-66/+62
Restructure language file to use consistent pattern across pages following loose guidelines. - Create buckets for common global labels - Create common component objects–appHeader, appNavigation, appPageTitle - Page specific labels should be nested in an object with a key prefixed with 'page' followed by the page title - Any 'major' child components should be nested inside page specific objects - Avoid any complex linked locale messages - Alphabetize object keys, alphabetize nested properties at end of object block Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ie4222b3ce24dec7af31b55b5a77425ca2f492789
2020-02-25Add account settings to local user pageYoshie Muranaka2-7/+190
Adds ability to change account LockoutThreshold and LockoutDuration properties from the GUI. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ieeb75aa83c07b3de840bccdfc28e2d6e87512e2e
2020-02-25Add password requirements to local user pageYoshie Muranaka3-35/+64
- Make api call to get user account settings - Update add/edit user form to include dynamic password requirement values - Fix edit username bug by adding input listener to field that sets form control to $dirty state and adds property to PATCH request Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I3535f4214ee12c95d5e502134bf3e36597d2421a
2020-02-25Update overview events table and overview network layoutDixsie Wolmers3-56/+156
- Convert events list group to bootstrap table - Add ethernet interfaces to overview using redfish Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Change-Id: I633f03ba4a65358861664a869b35adf5358c45e6
2020-02-24Create TableRowAction componentYoshie Muranaka1-23/+34
Creating a reusable component to help ensure visual consistency and code reuse for table actions. Updated local user management table to use this new component. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ib94df901c5b6a70ee3299f6844b60fa761842b13
2020-02-22Add batch actions to local user tableYoshie Muranaka1-7/+94
- Create TableToolbar component for table batch actions - Added Toast warning type and toast title message translations - Update vue-i18n package to latest v8.15.3 to use improved pluarlization features Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I455beba4f56b8209b1201bbc5ff3f616e960d189
2020-02-22Add Reboot BMC pageYoshie Muranaka2-0/+49
Created a ControlStore with the intention to consolidate actions across multiple subnav pages under the 'Control' tab, instead of creating a dedicated RebootBmc store with one action. - Update PageSection component to make sectionTitle prop optional - Changed PageTitle computed property to data since the value doesn't change during the component lifecycle - Change PageSection <section> element to <div> to avoid accessibility issues Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I2877e2a7b9bfee245c48d52c70859978b74be7f3
2020-02-22Create password visibility toggleYoshie Muranaka1-37/+43
Reusable component to show/hide password input fields, added to local user form. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I90fb865e51d99788a225812b057f4d8bacad1bc8
2020-02-21Translate overview pageDixsie Wolmers3-27/+38
- Power cap and power consumption state is translated in the store - Static overview text is translated in the template Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Change-Id: I9463072e38c82b4660743ba9785a606ef1c69eae
2020-02-19Add responsive layoutYoshie Muranaka2-6/+6
The main navigation will be collapsed until the viewport minimum width reaches the Bootstrap defined 'lg' breakpoint (defaults to 992px). - Adding motion variables and updating some CSS values to use existing Sass variables Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Id159b84da6adf55fdb15842b0e33b1ede4eeceb4
2020-02-17Add Health status to app headerYoshie Muranaka1-2/+2
Added logging path and interface to websocket subscription data filter, to dynamically indicate Health status in the app header. - Update OverviewEvents to use highPriorityEvents data - Refactor EventLogStore Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I35ad30b005c70625a5f6a69488d45db0fa049374
2020-02-13Update overview quicklinks with community approved designDixsie Wolmers2-34/+84
Resubmitting after reverted–original commit here https://gerrit.openbmc-project.xyz/c/openbmc/webui-vue/+/28762 Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ib4b2cc8015b86a9f6de11ebcade57abe086c5990
2020-02-13Set up initial language translationDixsie Wolmers2-16/+28
- Add i18n internationalization plugin - Create json files for group 0 English and Spanish - Uses $t method to set up initial translations on login page - Meta title is translated using i18n in App.vue and PageTitle.Vue Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Change-Id: Ifce9f5e54d96f8b2a13239ad6178892f99fc4537
2020-02-13Add toast component interactionsYoshie Muranaka1-3/+14
Include boostrap toast component to communicate success and error requests on the local user management page. - Created BVToastMixin to share initialization options - Used async/await pattern to make sure toasts are shown after asynchronous calls are complete - Followed current AngularJS pattern of manual dismiss for error toast and automatic dismiss for success toast Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I5d5c037b5f41781972106fb5e9a2096cc72c39ab
2020-01-31Change eslint rules to use vue recommendedDerick Montague9-52/+62
Resubmitting after reverted–original commit here https://gerrit.openbmc-project.xyz/c/openbmc/webui-vue/+/28763/7 - Ran npm run lint - Resolved eslint issues Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I2b8b9244acddd483d0a72f9a5d156a79de9869a0
2020-01-31Update local user layout and stylesYoshie Muranaka4-111/+315
Resubmitting after reverted–original commit here https://gerrit.openbmc-project.xyz/c/openbmc/webui-vue/+/28790 - Add BVConfig plugin to modify boostrap component defaults - Add vuelidate - Add package and basic validations to user form - Add all user form validations - Add checks for edit user - Create VuelidateMixin for shared methods - Update Login to use Vuelidate Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ib50ee4d1fb5f14637c9460e77f0682869a86ac8a
2020-01-29Revert "Update overview quicklinks with community approved design"Gunnar Mills2-84/+35
Merged accidentally. Did not have proper +1s/+2s. The author will resubmit. Apologies for the noise. This reverts commit 256f5b967beb1505cab73ce59f534b6b9860e38f. Change-Id: I2cc7f48565221742245613aee383541152e71096 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
2020-01-29Revert "Change eslint rules to use vue recommended"Gunnar Mills9-65/+55
Merged accidentally. Although this one did have the proper +1s/+2s. The 2 underneath did not. The author will resubmit. This reverts commit 5e7ac49058e5dc37fd43ecf3c0d06f5dda14af5b. Change-Id: Iceb1de3a170cc0b592b183545c792aa3eb87bfee Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
2020-01-29Revert "Update local user layout and styles"Gunnar Mills3-261/+57
Merged accidentally. Did not have proper +1s/+2s. The author will resubmit. Apologies for the noise. This reverts commit 5fa09a25c207d13ec1c9a8df92fc058f15a872e1. Change-Id: I59a792193f94f51c6f499c385305db919cf43927 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
2020-01-29Update local user layout and stylesYoshie Muranaka3-57/+261
- Add BVConfig plugin to modify boostrap component defaults - Add vuelidate - Add package and basic validations to user form - Add all user form validations - Add checks for edit user Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I301a65071c5cdbe16f10ce6a2a6bfa1b2516dc3d
2020-01-29Change eslint rules to use vue recommendedDerick Montague9-55/+65
- Ran npm run lint - Resolved eslint issues Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Icd433ca55321d8bceb941e2d13ebade72bd4981f
2020-01-29Update overview quicklinks with community approved designDixsie Wolmers2-35/+84
Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ia748182f6a6bf8d7dc87e2f367f02c0528ecf441
2020-01-29Update button variant stylesYoshie Muranaka1-2/+2
Adding styles to leverage bootstrap-vue button components. Using the link variant as a replacement for our current 'ghost' button style. Use $enable-rounded flag to disable rounded corners. This will take care of all components with rounded corners (input fields, modals, etc). Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ie48f19a76698f896d9ebe7e72e9c0575f6db80c1
2020-01-29Add login form validationDerick Montague1-52/+134
- Sending incorrect credentials returns a 401 and we don't want the page to redirect if we are trying to login. Wrapped the redirect in an if block. - Returning a promise used by the logout action, which is needed when not redirecting the page. Didn't add to the if block since other errors that use the router to redirect will need the Promise returned also, e.g. 403. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I6db706ef7c71ed13baed95dc4264e6ae11d13ad3
2020-01-29Add interceptor for 403 responseDerick Montague2-0/+22
This is a simple solution that is in parity with the current BMC functionality. Once we have mapped permissions, we can create a more elegant solution. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Id3ea36ba812462be04a450f84f98d0237d6c7c3d
2020-01-29Fix linting in script blocks in vue filesDerick Montague8-75/+75
- Removed the .eslintrc and added the pretteri rules to the eslintrc file - Ran `npm run lint --fix` Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I4e36c1967ae9b4d839ef88f1d47ffa20ab4e4991
2020-01-29Add store modules needed to support overview viewDixsie Wolmers3-117/+98
- Update overview page to get data from store Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Id2fcad660efc0da5c7b878e872355bf5773c7ed7
2020-01-28Add page level layout componentsYoshie Muranaka2-20/+18
Adding components to help standardize type, size, spacing for common elements on a page. Also removed a conflicting class name and added modifications to the main container. The main container needed a min-height and height value set, which became apparent with added background color. Adding a background color will move us closer to agreed design solution to add a subtle background color instead of adding a border to separate main content from left hand navigation. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ie63c4f0c0f3fd199fa0ca790065402e06a613691
2020-01-27Add singlequote override and fix filesDerick Montague3-3/+3
Based on phosphor-webui and JavaScript common practices we are setting ESLint to required single quote for JS files and double quote for SCSS files. This commit adds the ESLint override to the prettier rules and runs the npm lint script that fixes the files that violate the rule. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I50cba77b2d0797595ce94258029608efa8665005
2020-01-27Add cookie based login authenticationYoshie Muranaka1-1/+1
- Changed POST request data structure to match backend requirements for set-cookie in response header - Added withCredentials property to default axios config - Modifying proxied response to remove 'Secure' flag so browser can create Cookie while running locally - Add logout api request - Add js-cookie package to manage browser cookies - Update the babel preset config to include useBuiltIns, which resolves MIME type errors when overlaying - Disable vue-router history mode to use routher hash mode to resolves 404 errors when refreshing certain pages. This is expected behavior with history mode enabled. Server configuration changes are required to support HTML5 history mode: https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I5d43f36ef546962474b6cc8fff89564f29048fde
2020-01-27Update local user componentYoshie Muranaka4-67/+200
- Add, edit, delete user basic functionality complete - Rename components and creating separate modal components - Update button styles to match design and included icons - Update grid layout to use container with max width set - Add aria labels to table action buttons - Refactor LocalUserManagementStore Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Iab31ccabeb5a53ec03dc3ce3949fb20ded1ffbcf
2020-01-23Add login and logout functionalityDerick Montague2-0/+113
- Add AuthenticationStore - Add ability to login and logout - Add route navigation guard - Add login styles - Add temporary authentication for api call - Add Login directory - Add index.js In order to login a .env.development.local file that contains BASE_URL="https://<ip address> or <FQDN>" Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I88b93e287e66f4bae82a1ec2934cdef12d78264e
2020-01-23Rename overview files and update structureDerick Montague3-2/+4
- Changed Home to Overview - Changed Events to OverviewEvents - Added an index.js to make importing cleaner Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ia2b3938dadd7d896e83b29532db069b17b9b9929
2020-01-22Create LocalUserManagement view directoryYoshie Muranaka3-6/+2
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I3584932e683a66dc815a3af739f2a7be519077f1
2020-01-22Add system overview viewDixsie Wolmers4-15/+254
- Sets up system overview layout with out of the box Bootstrap - Creates overview quick links and overview events - Add Date-FNS Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Id0a3d4d3b82ef2e1a4f838b3c7e725558e602504
2020-01-21Add local user pageYoshie Muranaka2-1/+234
- Add Bootstrap out of box table component - Import layout plugin - Add user role privilege table - Add local user modals - Add inline table actions - Add local user store - Add Axios requests Initial setup to use Vuex store for local user management page. For now using a timeout to fake fetching async data. Data flow is working between store and component. Using Axios in very unrefined way, just to get some API requests going. Simple user request working if base, username, password variables defined. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I3b0d757857268feff32c6bec1c3fd95c302a568f
2020-01-21Create basic application using vueDerick Montague2-0/+18
- Create vue app - Add AppHeader and AppNavigation - Set up routes for server overview and local user management - Add themes and set to gray-10 theme - Add active class for current navigation - Add a prototype method named $http to vue prototype - The UI uses console logs in production to communicate to users - Add boostrap vue component library Change-Id: Ib6618e6357ca01bdac6de4ed031a15c8552226f3 Signed-off-by: Derick Montague <derick.montague@ibm.com>