summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-05-16Add Redfish mapping for quiesced and dignostics modeYoshie Muranaka2-4/+15
- Add yellow warning icon Power status in app header for diagnostics mode Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I8a0f18139da2a29f4bcc4025db3aada158f86026
2020-05-15Add themes documentationDerick Montague1-3/+3
- Renamed all index.md to readme.md to make consuming the documentation from the Github repo easier. VuePress treats index.md and readme.md the same way when building the static pages. - Added theme section overview documentation - Added how to customize documentation - Added custom style imports to support OpenBMC Web UI component documentation to remove Bootstrap framework base styles that conflict with the Vuepress theme - Found occurrences of the word Sass in upper-case and changed to use sentence case. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: If5588f88a3d75761cc47e85a3fb0a582b31d373c
2020-05-14Clear XSRF token when navigating to LoginYoshie Muranaka1-0/+3
This will fix the WebSocket authentication error if redirected to the Login page when a session is expired. The WebSocketPlugin checks to see if the user is logged in before attempting to make a connection. The AuthenticationStore determines if a user is logged in based on whether or not the XSRF-TOKEN cookie exists. Currently the app only removes this token if the user explicitly logs out from the application header. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I9f2b7025ff1de21889267b8f56efd08930eb63d3
2020-05-12Add confirmation modal on local user tableYoshie Muranaka2-13/+35
Adds a delete confirmation modal when user attempting batch delete action from local user table. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I33f77cb55ceedad8a724a9d3f4b37d12c6d6687e
2020-05-12Add translation to Unauthorized pageYoshie Muranaka2-12/+7
- Swapped container <div> for boostrap container Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ie3f8539fc4b1e3496d77277319f77a9b51574885
2020-05-12Add page loader on Local user management pageYoshie Muranaka2-13/+30
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ibb681f72bed33a6ca70d8e526668a2ab154111b4
2020-05-12Add motion guidelinesDerick Montague2-4/+5
- Update transition global variables in bootstrap to use Carbon motion easing and duration tokens to maintain consistency throughout the application - Remove import of colors helper file into variables and set import order based on dependency Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ibd3fb9438ff236670e5523250d284b59411a7e53
2020-05-06Add missing translations to user management storeYoshie Muranaka2-21/+59
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ie5da5272b2529bda57dc37e0c92d7822cbea11a8
2020-05-06Add XSRF token to websocket connectionYoshie Muranaka2-2/+4
Resolves HTTP authentication failure when attempting to make a websocket connection. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ie833f1cd281dd3b7124ac798eb5318b24df0ed8f
2020-05-06Add loading bar to Server power operations pageYoshie Muranaka3-8/+21
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I823279c6865fa1ecff2f0443d735477e03fbf417
2020-05-06Fix accessibility issue on local user pageYoshie Muranaka2-10/+27
Updates template to use form attribute on submit button to allow keyboard users to submit modal forms with the enter key. These updates were made to the local user add/edit modal and the account settings modal. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Id217cd68e4576ee099598591df6edbead0f1de8b
2020-05-06Fix generate CSR submitYoshie Muranaka1-1/+1
Add .prevent modifier to prevent native form submit in CSR modal which causes unwanted page refresh. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I3d56ed4797bc3829507873029d849a7a1ad03c99
2020-05-06Add loading bar to SSL certificates pageYoshie Muranaka2-10/+24
- Return new Date() instead of null when calculating expiring time. Expired certificates banner is sometimes visible if the certificates are returned before the bmc time Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I3a2b8ac8a639f464856472013be14878151e7289
2020-05-06Add loading bar to LDAP pageYoshie Muranaka3-11/+29
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I19f34986e05298a42f1739632a5786d03371e47c
2020-05-06Add loading bar to Sensors pageYoshie Muranaka2-38/+53
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I6d44e1326b2cf697bf1f20e4e10ccd68e4681c66
2020-05-05Add loading bar to Overview pageYoshie Muranaka10-40/+47
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I47ef77dda6b348c854e875aa458acfa44e287c49
2020-05-05Import sass helpers to LoaderBar componentYoshie Muranaka1-0/+2
Fixes errors when trying to access Sass variables in LoaderBar component. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I9aa4baa2c1725a62bdbad36a5bda342563090b0a
2020-05-05Use Jest as the test frameworkDerick Montague1-0/+1
- Remove mocha, chai, sinon and setup.js - Add snapshot test to ApplicationHeader spec and remove skip nav link test - Add an update snapshot test that can be run if a page changes and the snapshot needs to be updated - Remove tight coupling of application structure and test in ApplicationHeader spec We are changing to Jest for a few reasons: 1. Jest is the testing framework used by most Vue applications and has robust documentation 2. It requires less configuration and works out of the box 3. It includes the ability to perform snapshot testing of rendered UI, which is much easier to maintain than trying to test specific UI elements. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I7bca3613991ebae1fd464fa3a60f079d044ed7b4
2020-05-05Update Sass architecture to require helper importsDerick Montague35-49/+96
- Restructuring file strucure to support single file components use of Sass variables when imported into vuepress. - Creating a scalable file structure using Sass best practices Tested by building and testing both the vue web ui and the the documentation application. Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Iddcefbf305c8dac978ee24e903df33b609e395e3
2020-05-05Add export functionality to Sensors pageYoshie Muranaka4-3/+86
- Create TableToolbarExport component to be used as a slot in TableToolbar - Allows selected table items to be exported Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I929347e046af8a5d5188e4c4fd9fc874e067cce5
2020-05-01Create LoadingBar componentYoshie Muranaka4-1/+112
Create loading bar component to indicate when page data is 'loading'. Not every component view will need to show the loading bar (eg Reboot BMC). The LoadingBarMixin can be imported per component as needed. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I6735be37bc0a81f5bb2b7c93fb31a0e0ef9b40d1
2020-05-01Add missing router namesYoshie Muranaka1-1/+2
Overview and Sensors routes were missing router names. Removed empty string value name, since it doesn't help identify a router by name. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Idcff2c4104427d50abfc260c90d8087efe6525e3
2020-05-01Update local user button icon positionYoshie Muranaka1-3/+3
Move icon to left of button text to follow consistent patterns defined in style guide. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I56a9f4bb47fb28d6791ad1d9e0b986f3a8b5cbd4
2020-05-01Add LDAP role groups tableYoshie Muranaka5-49/+585
Adds ability to add, edit, and delete RemoteRoleMapping objects from the GUI. Role group table functionality includes sort, single row edit and delete, and batch delete. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Id9168c90b78a6f4090ab0ab3e37e74b8cd821d54
2020-05-01Remove hostname D-Bus requestYoshie Muranaka4-26/+1
Hostname is available in NetworkSettingsStore using redfish api. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I26c26281ca8d9003d2daaed13d6bbd4db6ed700c
2020-04-28Change host status request to RedfishYoshie Muranaka1-4/+6
Use /redfish/v1/Systems/system Redfish endpoint to get host status from PowerState property. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ied2e70d5e26eb820d41d6b63acdded237f7646a4
2020-04-25Add LDAP pageYoshie Muranaka9-1/+605
Adds ability to enable LDAP service and modify LDAP and ActiveDirectory properties. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I59d65bba7f6fe321af395227ce2f7188d9c006b7
2020-04-25Add webpack config for env specific buildsYoshie Muranaka4-0/+181
Add documentation and example files to make environment specific build modifications. - Store any env specific router and store modules in separate env directory Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I06ff3cb0928707354266dd25b399710847e7fa18
2020-04-25Update layout fluid prop to set max-widthYoshie Muranaka8-9/+18
Setting page container fluid prop to 'xl' to allow fluid/100% container width until reaching the xl breakpoint. After reaching the xl breakpoint, a max-width is set to the container. This will make sure that the page content doesn't stretch into an unreasonable layout on wide viewports. https://bootstrap-vue.org/docs/components/layout#fluid-width-container Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ic50dd3b4339d532663279350afdcc30e59bb0c74
2020-04-22Fix local user edit bugYoshie Muranaka2-0/+2
When clicking the edit action in the local user table multiple times in a row, the form values do not populate. Setting the activeUser value to null whenever the modal is hidden will fix this issue–the value change will trigger the watch method in the modal and set form values. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I0b86b7e8b0454a69adf10fdd534a85a28d57b2a9
2020-04-21Add dynamic AccountService RolesYoshie Muranaka3-1/+22
Get roles on local user management privilege dropdown from /redfish/v1/AccountService/Roles instead of hard-coded values. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I00409b17fc1a2a49b880883749c0241e0aae283e
2020-04-21Create TableFilter componentYoshie Muranaka8-9/+195
Global TableFilter component and TableFilterMixin can be used with any table. The TableFilterMixin will return filtered data with items that match any of the filter tags. When the table search component is built, it should use the BoostrapVue Table :filter prop. - Filter by status added to Sensors table Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I57ebab1686b2d267383cb0e1be252627bf42c98c
2020-04-16Create accessible InfoTooltip ComponentYoshie Muranaka3-2/+35
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-15Update OverviewStore to use redfish apiYoshie Muranaka1-2/+2
Changed OverviewStore call from D-Bus to redfish to get server model, serial number, and manufacturer info. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ia0a0a87f1199b2e64d2bb501a719063a01a8aea4
2020-04-13Update BMC time to use redfishYoshie Muranaka1-4/+3
Change getBmcTime call from D-Bus to redfish endpoint in GlobalStore module. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I3c459d6bf40a778d5e03d112c12e45ad8554c141
2020-04-09Add generate CSR to SSL certificates pageYoshie Muranaka9-5/+1188
Adds ability to generate, then download or copy a CSR from the GUI - Import FormTagsPlugin to use for alternate names field Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I060e8d7917a79dafbfb67c758f5baa4a36ab86ae
2020-04-09Fix documentation errorDerick Montague2-7/+5
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 Montague3-22/+38
- 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 Certificate expiration warningsYoshie Muranaka4-2/+88
Adds status icons in data table and alert banners for expiring and expired certificates. Warning will be visible within 30 days of certificate expiration. Critical/danger indicators will be visible when certificate is expired. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I6f8c27d4ba1563a79b46eec7b869366ecee42f75
2020-04-08Add SSL Certificates pageYoshie Muranaka11-5/+581
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 Muranaka4-6/+57
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 mocha and chai test frameworkSukanya Pandey1-1/+1
- Mocha/Chai/Sinon test frameowrk because it has 100% feature parity with vue-loader. - Code for making 'expect' function accessible globally. Signed-off-by: Sukanya Pandey <sukapan1@in.ibm.com> Change-Id: Idf809cb08d8c1ef177ff92f0ee1be04ac74059a3
2020-03-26Add Sensors pageYoshie Muranaka8-2/+267
- 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 Montague7-29/+105
- 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 Montague3-2/+20
- 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 Montague2-3/+21
- 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-13Fix accessibility violations and use b-form-groupDerick Montague2-12/+17
- Update authError to be set to false in order to hide the error message when the user logs in. This is needed if the user name or password are incorrect multiple times. If it is not hidden between login attempts, the user will only be notified on the first attempt. - Use the b-form-group component for consistency. - Add id attributes to the required field error messages so that the error can be added to the input field's aria-describedby attribute Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: I86902cc2c85b3bbf156c2920ec2031ee4dccd2ef
2020-03-13Revert "Add alert message component and documentation"Derick Montague6-100/+25
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 Montague6-25/+100
- 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-12Fix Overview errorsYoshie Muranaka1-3/+4
Updated computed variable names and store actions to match what is defined in FirmwareStore. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Id95e6cdae6eda4588f2f7b7264c5d4152bfd4c03