summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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>