summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-02-22Add batch actions to local user tableYoshie Muranaka10-23/+458
- 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 Muranaka9-10/+109
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 Muranaka3-37/+103
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-21Update label and definition list styleDixsie Wolmers3-5/+14
Added typography.scss to override label and definition styles to have a consistent label pattern Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Change-Id: I44580093436c3c1e7e550ab63da214ffd2432c36
2020-02-21Translate overview pageDixsie Wolmers6-41/+77
- 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 Muranaka8-92/+277
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-19Add refresh functionality in app headerYoshie Muranaka2-3/+18
Clicking refresh in the app header will update the :key value for the router-view component, and trigger a component re-render. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I15da6d2d04fc311dfc092fbe840add950180124f
2020-02-17Add Health status to app headerYoshie Muranaka6-59/+148
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-14Clear application state on logoutDerick Montague2-5/+4
Remove the authError state property from the logout mutation since the the authError would not be in the true state after a successful login. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ibfe8b07c4e9e37dfab4435596c12e9a36556a714
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 Wolmers9-25/+146
- 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-13Update PageTitle component to use divYoshie Muranaka1-2/+2
Changed header element to div to fix accessiblity violation of having multiple header elements without unique aria-label properties. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I1e8aeaa6ee9142e16176eb47928916424ef4fba0
2020-02-13Add toast component interactionsYoshie Muranaka6-15/+100
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-02-07Update navigation item orderDerick Montague1-3/+3
- Change all navigation items to display in alphabetical order Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I69f01c7a9c1f074e96a8577c5e906bd449c3a429
2020-02-06Add focus state to navigation link itemsYoshie Muranaka1-4/+4
Nested submenu items didn't have visual indication for focus state. Adding styles needed to meet accessiblity guidelines. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I2c79e2c36a0de8d6ae27e0388c1241868172b9cd
2020-01-31Change eslint rules to use vue recommendedDerick Montague15-66/+91
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 Muranaka11-124/+402
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 Mills15-94/+69
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 Mills8-333/+58
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 Muranaka8-58/+333
- 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 Montague15-69/+94
- 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 Muranaka3-2/+33
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-29Style primary navigationYoshie Muranaka2-33/+108
Adding styles and interaction patterns based on community approved design proposals. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ie7f422db6fbbca2033e10d2d2ae331540a8a038a
2020-01-29Add login form validationDerick Montague4-54/+145
- 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 Montague4-0/+36
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-29Redirect user to login on 401 responseDerick Montague1-0/+8
Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I58609486956239d90a0dfec630f249dc3fa28ea2
2020-01-29Fix linting in script blocks in vue filesDerick Montague13-109/+109
- 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 Wolmers11-130/+428
- 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-29Add host status pluginYoshie Muranaka7-61/+161
- Create WebSocket and get host state changes from server - Changed webpack devServer to https to allow for secure WebSocket creation (wss) - Updates to AppHeader to visually indicate changes in host state - Cleaned up api.js file - Check if user is logged in when creating WebSocket - Adds check if user is already authenticated so WebSocket is created when browser refreshed. - Add appliation header styles - Add sass loader config changes to allow sass variables to be used in single file components URL must use https protocol when running locally or the page will not load. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I35e89bdc09e1aa35a6215ef952409a8ed16dd9e1
2020-01-28Add page level layout componentsYoshie Muranaka7-25/+109
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 Montague12-67/+67
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 Muranaka4-22/+17
- 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 Muranaka6-76/+239
- 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 page titles using route meta dataDerick Montague2-4/+18
Adding the page title using the route assures that each page has a set title. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I75cdd39a1ccdfe4ac9757886e22f016188f42360
2020-01-23Add skip navigation linkDerick Montague2-5/+39
This is needed because SPAs do not perform a full page load. - Add watchers to change focus on ApplicationHeader component element. This is needed because SPAs do not perform a full page load. - Add styling for skip to content button Remove setTimeout call the nextTick method is sufficient. The setTimeout call was used to handle an iOS 7 bug, which is not a device we support. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ia80c4442ee917d50513c5d1aeb22791e8598bee7
2020-01-23Add login and logout functionalityDerick Montague12-69/+265
- 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 Montague4-5/+6
- 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-23Add GlobalStore moduleYoshie Muranaka3-17/+99
Create a GlobalStore to store global variables, including data in app header. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Id498dec3925feec9a7e31ede91328f89ae591a0b
2020-01-22Update main layoutYoshie Muranaka1-2/+2
Adding large screen breakpoints and removing offset. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I1e8a43e0a3a4e6d534e0a176f6b33cc8e1d1d5f5
2020-01-22Create LocalUserManagement view directoryYoshie Muranaka4-7/+3
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I3584932e683a66dc815a3af739f2a7be519077f1
2020-01-22Add proxy dev server for local developmentYoshie Muranaka2-33/+50
Adding proxy server to vue config to handle API requests for local development. You need to create a .env.development.local file with BASE_URL, VUE_APP_USERNAME, VUE_APP_PASSWORD defined. Temporarily adding authentication to defaults until login flow is functional. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ib1a1a992508fb9567af66ecb5775638e6ae6ee8d
2020-01-22Add system overview viewDixsie Wolmers8-34/+265
- 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 custom color themeDerick Montague3-11/+202
This is the first step and will evolve as we start building out more the site and using the components. It is likely that we will change the colors and theme-color maps as we create the OpenBMC styleguide. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I6157f7816e48f4e97c6d57dc332d64a0511398bf
2020-01-21Add primary navigation with default stylesDerick Montague3-33/+102
- Import and use Bootstrap Vue components for the navigation structure - Import and add icons to the navigation sections - Add minor style overrides Change-Id: I4c1903390d75aff086c912a710f4c04d38d28a28 Signed-off-by: Derick Montague <derick.montague@ibm.com>
2020-01-21Add local user pageYoshie Muranaka5-3/+302
- 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 Montague13-0/+224
- 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>