summaryrefslogtreecommitdiff
path: root/src/components
AgeCommit message (Collapse)AuthorFilesLines
2020-04-16Create accessible InfoTooltip ComponentYoshie Muranaka1-0/+30
Adds a global reusable component that will display the info icon with accesible markup. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I5f7ee4a45e19ce851b3eff705d722517db07c0bf
2020-04-09Fix documentation errorDerick Montague1-7/+0
Using SCSS tokens in single file components results in a compile issue causing the documentation to white screen. Moving custom alert styles to the global alert .scss file to resolve this issue and to keep all alert styles in one place. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I047fa15c76cdfb842e5c00eea99e529595b94632
2020-04-09Resolve header and nav accessibility violationsDerick Montague2-22/+36
- Add aria-label to nav sections in app-header and app-nav to meet accessibility guidelines. When application has multiple nav elements an aria-label is required to help screen readers identify the elements - Remove b-nav child of b-nav-bar in app-header to fix invalid markup generated by Bootstrap-vue components. Components were not used as expected by the component library - Replace b-nav-item with HTML <li> elements using nav-item css classes in order to use button elements. Bootstrap-vue generates <a> elements which is not the semantic HTML element to use for items that are not links to other sections of the application. - Removed aria-expanded and nav-open class from nav-trigger button - Update appHeader unit test Used a TDD approach to write all tests to fail and then updated the methods and actions to make the tests suceed. Each test resulting in a dispatched action should be called once only and with the expected action. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I18af3727708526f814b7ceb77a0c28fda9f3d9bd
2020-04-08Add SSL Certificates pageYoshie Muranaka1-1/+1
Adds ability to view, add, replace, and delete SSL certificates in GUI. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I5cf9fa7bbd588dfb22f2431eed0b5976ff860703
2020-03-31Add local user account manual unlockYoshie Muranaka1-2/+10
Adds ability to manually unlock user account if account service settings lockout duration set to 0. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I75351c5e03bd5403e8dc7679d8d98b90adb90277
2020-03-26Add Sensors pageYoshie Muranaka1-1/+1
- Update api calls to use Redfish - Add column sort to name and status columns - Set default table sort to status column - Added lodash package Github story: https://github.com/openbmc/webui-vue/issues/4 Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ic6e76107475fbf5fb34deb01a4de4a4a9ccfeabf
2020-03-20Add alert message component and documentationDerick Montague2-4/+37
- Add custom alert component to simplify the use of custom alerts - Add documentation for using the custom alert - Update the login error alert to use the alert component instead of the Bootstrap-vue component. - Register alert component in enhanceApp - Replace Sass variables used in the StatusIcon component style block to use the Boostrap theme-color and gray Sass functions so the colors can be used in the Vuepress documentation custom components Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ibd93402c919a42bd5c24cc9e7c6c8fc6f17a4db4
2020-03-20Add toast component documentationDerick Montague1-0/+9
- Add documentation that describes when and how to use a toast message with code snippets - Add an informational toast method in the BVToastMixin - Add BVToastMixin to enhaceApp to register mixin globally. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I89bf2aa8b3fdb9294354a80c98ccf692b6e3615a
2020-03-20Add buttons documentationDerick Montague1-0/+1
- Add documentation for how to use buttons - Update markup and CSS rulesets to support icons on the left or the right of text Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ic897f416e85824287360bc7ef5dc47c402d64eba
2020-03-13Revert "Add alert message component and documentation"Derick Montague1-33/+0
This reverts commit 71650fff20c0ad29eb05d770736386863324b64e. Reason for revert: Found an issue with Sass loader when compiling docs that needs to be addressed. Change-Id: Icdd1243665f60849bfb341594452687fcdaeebe2
2020-03-12Add alert message component and documentationDerick Montague1-0/+33
- Add custom alert component to simplify the use of custom alerts - Add documentation for using the custom alert - Update the login error alert to use the alert component instead of the Bootstrap-vue component. - Add the enhanceApp and bmcAppPlugin to extend vuepress to use both the BMC custom and Boostrap-Vue components along with the custom styles Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I5c0b696ca47ddba0df18041d6c5ee7509bf23572
2020-03-10Remove unused colors from color paletteDerick Montague3-9/+13
The color palette has been stripped down to a maximum of two colors shades per palette. This works for our design since components use a base color with a lighter color as an accent color. This change reduces the amount of CSS generated by Bootstrap when the CSS is compiled. Github Story: https://github.com/openbmc/webui-vue/issues/2 Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I2ddb37f5c89c749a7303799c6f7499ddd83d5a92
2020-03-06Fix slight alignment issue in navigationYoshie Muranaka1-1/+2
Health option in navigation was slightly offset from other menu items. This will flush all navigation items. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I27aa01e612afd4a3ce3027262e27aa39ac55f15a
2020-03-06Add power operations pageYoshie Muranaka1-1/+1
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-04Update application navigation colorsDerick Montague1-6/+14
- Current navigation color did not match mockup - Replace color variables with theme variables in .vue file - Add $gray-500 - Delete the map-remove functions. Maps are based on the added properties - Increase navigaton icon size - Add _variables.scss file for overrides to Bootstrap Sass variables and adding custom variables Testing: 1. Navigation item for current page will have a dark background, light text, and a blue border. 2. Hovering over an active navigation item will display the cursor as the default arrow. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Id391364ee74ece59ba7b20d49fda859de0c12b17
2020-03-03Add translation to header and navigationYoshie Muranaka2-24/+46
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I31a6c7a45a20c68efc367ba625c7b06b2d7ba47d
2020-03-03Add translation to user management pageYoshie Muranaka2-4/+4
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-03-02Fix styling for TableRowAction buttonYoshie Muranaka1-1/+1
Padding was off for buttons in the TableRowAction component because of specificity issues. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I0b11bce612c4e1fe9b07a3ca8e33febf57f944e0
2020-02-26Update language json structureYoshie Muranaka3-6/+6
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-24Create TableRowAction componentYoshie Muranaka1-0/+40
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 Muranaka3-4/+178
- 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 Muranaka3-8/+10
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-0/+57
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-19Add responsive layoutYoshie Muranaka3-67/+217
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 Muranaka1-1/+4
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 Muranaka2-3/+33
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 Montague1-3/+1
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-13Set up initial language translationDixsie Wolmers1-4/+4
- 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 Muranaka1-0/+24
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 Montague5-10/+25
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 Muranaka1-0/+10
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 "Change eslint rules to use vue recommended"Gunnar Mills5-25/+10
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-29Change eslint rules to use vue recommendedDerick Montague5-10/+25
- Ran npm run lint - Resolved eslint issues Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Icd433ca55321d8bceb941e2d13ebade72bd4981f
2020-01-29Style primary navigationYoshie Muranaka1-32/+107
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-29Fix linting in script blocks in vue filesDerick Montague3-25/+25
- 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 host status pluginYoshie Muranaka2-52/+75
- 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 Muranaka3-0/+84
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 Montague2-2/+2
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-23Add skip navigation linkDerick Montague1-2/+17
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 Montague1-2/+7
- 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-23Add GlobalStore moduleYoshie Muranaka1-17/+62
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-22Add system overview viewDixsie Wolmers2-14/+0
- 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 primary navigation with default stylesDerick Montague1-22/+74
- 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-21Create basic application using vueDerick Montague6-0/+93
- 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>