Commit Graph

404 Commits

Author SHA1 Message Date
RachelElysia
381956b528
Host custom query button modification (#758)
* Improve UX custom query option
* Edge case custom query button persists
2021-05-13 19:29:31 -04:00
Gabe Hernandez
87c4aba10d
bulk selecting hosts (#756)
* added teams to add host modal dropdown

* bulk and transfer host on host page

* started transferhost API call

* hook up client side of api

* hook up client side of api call for enrol secrets

* added selection number and clear all selections button

* remove log and document

* fix ManageHostPage tests

* fix linting errors

* add indeterminate styles to checkbox

* added clearable handler for dropdown component

* fix up no team for add modal

* Add active selection styles and move specific host table styles into ManageHostsPage styles

* changed add host team dropdown to include no team option

* add no team option to bulk transfer host options

* change enroll spelling

Co-authored-by: Noah Talerman <noahtal@umich.edu>
2021-05-13 15:30:42 +01:00
noahtalerman
61c5eceb97
Resolve lint errors and js unit tests (#759)
- Resolves JS lint error and unit tests in the `teams` branch
- We believed these failed tests went unnoticed by CI in #723
2021-05-12 13:52:02 -04:00
RachelElysia
4d913b166c
Host Details Page: Convert seconds to larger units, clean repetitive edge case code (#750)
* Create and use seconds conversion helper function
* Debug edge cases between packs and pack_stats discrepancies
2021-05-12 11:49:57 -04:00
Gabe Hernandez
2ab1d106b0
team add new host UI (#723)
* added permissions for adding host button on host page

* added teams to add host modal dropdown

* add placeholder for dropdown and fix some type issues

* added add host redirect modal on team details
2021-05-12 14:06:39 +01:00
RachelElysia
d4147e916d
Host details page: packs accordion (#724)
* Pack queries accordion
* Connects to query_stats API
* No packs edge case

Co-authored-by: Sarah Gillespie <sarahgillespi314@gmail.com>
2021-05-07 18:18:52 -04:00
RachelElysia
b8aec63413
Host details page styling (#710)
* Host details page restyled to match Figma
* Page uses flexboxes
* Text match Figma
2021-05-03 18:58:23 -04:00
Noah Talerman
81bc137195 Merge style variables from master into teams 2021-04-30 18:12:49 -04:00
noahtalerman
0f48eb8525
Bring new style variables from teams into master (#707)
This PR brings the style changes made in the "Align Fleet UI colors with Figma components"
#615 and "Align Fleet UI with Figma (spacing and fonts)" #628 PRs into the master branch.
2021-04-30 17:32:50 -04:00
Gabe Hernandez
00b9c77777
Improve team setting functionality (#704)
This makes some improvements to the team settings pages. These polish up the experience.
2021-04-30 12:13:04 -07:00
Zach Wasserman
a17556b2db Merge branch 'master' into teams 2021-04-30 09:40:10 -07:00
Gabe Hernandez
a85476c23b
implement member page for team details (#685)
* added reducers and kolide api teams code, hooked up empty state

* request for get all teams and remove unused loading bar

* added create team functionality|gs

* update link cell to be more generic

* create teams detail page and hook it up

* added tabbing and styling to top nav team details

* added edit and delete modal functionality

* add in table and modals for members for teams

* created reusable edit user modal and use it in manage teams page

* creating add member autocomplete

* hook up adding members to teams

* hook up real members from api into table, and empty state for table

* fix proptype warning

* hooked up table querying for member page

* added remove member modal

* added tems to edit useres on member page

* finish remove member from team

* fixed up editing on members page

* fix the role value in member table

* fix prettier errors

* fixes from PR comments round 1

* add missing error handler on add member

* add dynamic team name to member page and user dynamic user and team names to succuess and errors

* add test for userManagementHelper module

* fix lint errors

* fix tests

* add member test to row results on member page
2021-04-29 14:47:33 +01:00
RachelElysia
9a6235d38e
Scroll to top after updating settings (#692) 2021-04-29 09:24:51 -04:00
RachelElysia
a8ce68f56a
Query modal on Hosts Details Page (#660)
* Query modal with error, no saved queries, and saved queries
* Ability to search saved queries
* Renders saved queries
* Queries page link uniquely from selected query/host
* Update hostDetailsPage test and refactored component onto own jsx

Pair programming, reviews, and suggestions: Noah Talerman <noahtal@umich.edu>
Reviews and suggestions: Zach Wasserman <zach@fleetdm.com>
2021-04-28 11:08:00 -04:00
RachelElysia
f636cae0bf
Teams flash messages (#675)
* Catch error flash messages for team/user create/update/delete
* Success flash messages for team/user create/update/delete
* Actions close modal
2021-04-28 10:44:22 -04:00
RachelElysia
b11c906eba
Software Inventory on Host Details Page (#643)
* Build SoftwareList in HostDetails page if host.software exists for user
* Render message for no labels/packs/software

Reviewed and suggested changes by: Noah Talerman <noah@fleetdm.com> and Zach Wasserman <zach@fleetdm.com>
2021-04-27 16:55:33 -04:00
RachelElysia
03a68348ae
Query Buttons: Export Results and Export Errors (#638)
* Fullscreen mode always an option
* Export Results button iff results && no errors
* Export Errors button added

Suggestion added by: @noahtalerman <noah@fleetdm.com>
2021-04-19 18:20:24 -04:00
noahtalerman
568efc9497
Edit label and Add label frontend fixes (#644)
- Moves `isEditLabel` out of `<ManageHostPage />`'s state and into its props. The implementation is now similar to `isAddLabel`.
- Add `selectedFilter` to the URL path when editing or adding labels. This helps navigate the user back to the selected label after they click "Cancel" when editing or adding.
2021-04-16 10:54:55 -07:00
RachelElysia
182b7f2f13
MIA host icon and styling (#649)
* Add Mia circle, can't overrride Mia letter casing

* Uppercase MIA

Co-authored-by: Rachel Elysia Perkins <rachel@fleetdm.com>
2021-04-16 12:14:48 -04:00
noahtalerman
02a12709b7
Switch selectedTargets.count with targetsCount (#645)
- Fix handling of live query error when the number of hosts targeted is 0.

PR #641 attempted to handle the case when a user, running a live query, selects a label that contains 0 hosts. 

The fix in this earlier PR introduced a bug that prevented the user from running a live query at all!
2021-04-14 19:22:12 -07:00
noahtalerman
f9896ace5d
Add error case for selecting a target with 0 hosts (#641)
- Add an error message to handle the case when the user runs a live query with a target that contains 0 hosts
- Add unit test
2021-04-14 11:38:37 -07:00
Gabriel Hernandez
04712c0426 Merge master into teams 2021-04-14 17:52:15 +01:00
Gabe Hernandez
64904d1d9b
implement manage teams page (#624)
* create skeleton of team management page and hook it up with routing

* added reducers and kolide api teams code, hooked up empty state

* request for get all teams and remove unused loading bar

* fix sending teams response to store

* added create team functionality|gs

* added edit and delete fuctionality to teams management

* fixed up some edge cases for deleting and editing teams

* remove unused UserRow

* get list of teams for user to add new users to, fix up Userform
2021-04-14 10:20:56 +01:00
Gabe Hernandez
efb35b537a
add prettier and have it format all fleet application code (#625)
* add prettier and have it format all js code except website:
:

* trying running prettier check in CI

* fix runs on in CI

* change CI job name

* fix prettier erros and fix CI
2021-04-12 14:32:25 +01:00
noahtalerman
cdf43a79bd
Align Fleet UI with Figma (spacing and fonts) (#628)
This if the 2nd PR as part of the of the Align components in Fleet UI with design system in Figma #539

These changes **refactor the spacing and font sizes** used by the frontend. 

- Change the scss variables in `padding.scss` and `fonts.scss`. 
- Replace custom styles with the new variables throughout all stylesheets.
2021-04-09 17:30:42 -07:00
noahtalerman
c2700ee5c6
Align Fleet UI colors with Figma components (#615)
- This if the 1st PR as part of the of the Align components in Fleet UI with design system in Figma #539
- These changes replace all the color variables in /styles/var/colors.scss with new colors and naming convention used in Figma.
2021-04-09 12:04:11 -07:00
Gabe Hernandez
1f97aebf61
implement user table with new table and hook up create and edit and delete users (#587)
* hook up user and invite data together for data table

* added client derived data to user table

* hooked up action dropdown to table

* hooked up edit modal and password reset

* started adding editing user functiaonlity

* add query params to /invite call

* clean up editing teams

* update select team from to handle existing users with teams

* update closes modal now

* reuse getUser to clean up code in userManagementpage

* pass form data to updating user that is not the current User

* add dynamic userform submit text and fix tests

* fix lint error in table component

* added empty state for user table

* clean up unused data table props

* added delete modal

* add delete user functionality

* add delete option for invite

* Add styles for rows in user table and action dropdown cell

* hook up user and invite data together for data table

* added client derived data to user table

* hooked up action dropdown to table

* hooked up edit modal and password reset

* started adding editing user functiaonlity

* add query params to /invite call

* clean up editing teams

* update select team from to handle existing users with teams

* update closes modal now

* reuse getUser to clean up code in userManagementpage

* pass form data to updating user that is not the current User

* add dynamic userform submit text and fix tests

* fix lint error in table component

* added empty state for user table

* clean up unused data table props

* added delete modal

* add delete user functionality

* add delete option for invite

* Merge in generateClassTag

* Refactor table styles

* Add newline to DropdownCell style sheet

Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>

* update checking for admin through global_role in nav

* added defaultGloablRole for creat user modal

* remove unused comment

* fix broken tests

* reenabled search for users tests

Co-authored-by: noahtalerman <47070608+noahtalerman@users.noreply.github.com>
2021-04-09 11:44:57 +01:00
RachelElysia
d4374b7f48
Add query created alert (#620) 2021-04-08 14:49:31 -04:00
Zach Wasserman
598c1e4c1f
Remove invited_by from invite parameters (#591)
Instead, use the value extracted from the viewer context.
2021-04-05 13:28:43 -07:00
Gabe Hernandez
e33bbb8811
enhance data table for two datasets and client derived data (#559)
* rework data table, got to point of calling network request correctly

* got to point of rendering table columns and data

* finish up functional changes to data table

* fix tests

* fix styles for table container and data table

* clean up some styles

* update to styles for no host configured

* cleanup and docs

* add missing method for host table text formatting

* disabling unused test. will add back in next PR

* clean up code
2021-04-04 13:45:24 +01:00
Zach Wasserman
2e2805d9fe
Fix JS test warnings and errors on Node 15 (#572)
- unhandledPromiseRejection errors caused test failures on Node 15.
  Instead verbose log these for later followup.
- Fix uses of Nock in tests
- Fix some warnings in tests
- Upgrade some test dependencies
2021-04-01 11:45:21 -07:00
Gabe Hernandez
be77b0de59 add tests for new manage users UI and improve checkbox accessibility (#536)
* e2e test for manage user page, and updating styles for ui components

* make checkbox more accessible and create e2e test around creating user

* add react testing library and use it for radio testing

* clean up comments

* update docs and clean up
2021-03-31 11:58:38 -07:00
Gabe Hernandez
d0ded91d0b partial implementation of user table with generic table and new create user form (#500)
* use new data table in user manage page'

* remove default empty array hiddenColumns props, was causing render performance problems

* remove unused tooltip in hostcontainer

* add search to user manage table

* add query params to user GET requests

* move createUserForm closer to user management page

* starting to implement create user modal

* starting to add team checking functionality to create user

* styling of select team form

* changing logic for selectedTeamsForm, simplifying

* updated SelectedTeamsForm to handle own state and pass back relevant state to parent

* created reusable infobanner component and use it in osquery options page

* use infobanner in createuserform

* create new Radio component and use in createuserform

* create new Radio component and use in createuserform

* added new radio buttons to createUserForm

* finish custom radio button styling

* finish styling of radio in createUserForm

* fix and add entities/users#loadAll tests

* remove unneeded tests and updated broken ones on UserManagementPage

* remove unused modules
2021-03-31 11:58:29 -07:00
noahtalerman
9c5ea908d1
Add status style (#564)
Add green (online) and grey (offline) indicator to Hosts table
2021-03-31 09:30:21 -07:00
noahtalerman
a6a1dd010d
Update styles on SSO login page and confirm SSO invite page (#560)
- Update layout on _Login_ page by moving "Log in with SSO" button into the card.
- Update layout on _Confirm SSO invite_ page and remove Confirm SSO invite styles. This page now uses the same style sheet as the standard _Confirm invite_ page.
2021-03-30 17:16:51 -07:00
noahtalerman
e9ad08da33
Add Fleet version number and Go version number to "My account" page (#550)
Consume new `api/v1/fleet/version` endpoint and display Fleet version and Go version on the "My account" page
2021-03-26 19:19:07 -07:00
noahtalerman
e6e6fcdf2d
Adjust UI layout styles and fix empty state on "Hosts" page (#542)
- Remove `$nav-width` and `$nav-tablet-width` because the navigation is now on the top of the layout.
- Add styles to `CoreLayout` to make the main content (everything except the top nav) fill the window height.
2021-03-25 17:22:37 -07:00
noahtalerman
ef414153a9
Add "Last fetched" to Hosts page and Host details page (#540)
- Add a "Last fetched" column to the table on the Hosts page. This column uses the `detail_updated_at` property.
- Add a "Last fetched" timestamp to the Host details page.
- Adjust styles on _Host details_ page
2021-03-25 12:47:00 -07:00
Gabe Hernandez
699c37e343
genericise host table (#456)
* updates to datat table to genercise it

* finish up genericising host data table
2021-03-15 11:26:18 +00:00
Gabe Hernandez
5e80bd5711
change smtp warning banner (#443)
* change colours for warning

* update the warning banner to display whatever is passed in.
2021-03-12 11:45:17 +00:00
Gabe Hernandez
a0ebc2bdf3
Add sticky side nav to org settings (#433)
* add stick side nav to org settings and fixes to sticky nav on other settings pages

* remove unused html

* remove unused href attr

* remove unneeded react fragment
2021-03-10 17:28:58 +00:00
noahtalerman
61635225dc
Front end style and experience fixes (#425)
This PR includes several style and experience fixes discovered during a front end QA pass 3-9-2021 

Fixes include:
- The content on _Osquery options_ page now fills the entire width of the new layout
- Add consistent messaging in the SMTP warning on the _Organization settings_ and the _User management_ page
- Add spacing consistent with styles for the buttons in the "Delete label" modal have 
- Make scroll behavior of  `<FlashMessage />` behave with the new top navigation
- Remove the SMTP warning from the _Organization settings_ page
2021-03-09 09:43:37 -08:00
Zach Wasserman
639edfda3b
Display All Hosts label on host detail page (#421)
All Hosts is a label after all, so don't filter it out on the details page.
2021-03-09 08:01:39 -08:00
noahtalerman
ba131153b7
Style changes for UI layout changes (#415)
This PR includes additional style changes included in the UI layout changes project #360

Changes include:
- Moving the <FlashMessage /> component below the new horizontal nav
- Editing the "Save options" button on the Osquery options page
- Adding a pseudo-element to <SettingsWrapper /> to prevent bold text from shifting the layout
- Add sentence case for tabs in <SettingsWrapper />
- Adding $horizontal-gradient to colors.scss
2021-03-09 07:48:35 -08:00
Gabe Hernandez
dbf027c912
fix reseting setting nav tabs (#422) 2021-03-09 14:32:12 +00:00
Gabe Hernandez
70b76d9aef
change to horizontal nav (#379)
* start with making nav horizontal and updating nav and main content areas

* remove unneded subnav styling and JS code

* remove unused isSmallNav and --small styles

* remove isSmallNav in reducer and fix tests

* change 'admin' to 'settings'

* remove unnneded username to logo

* change account page urls

* Add user avatar dropdown to nav

* remove unused background colour on company logo

* get tabbing to work correctly

* implement styling of tab and page descriptions

* change default settings nav to organisation settings

* remove more unneeded subnav code

* fix some broken tests after changes

* pull out getdefaultTabIndex in settingsWrapper

* sticky sub nav for settings pages

* tweak zindex for setting subnav

* updated yarn.lock

* update icons

* fix collapsing nav items

* tweak avatar dropdown styles

* remove sidebar on osquery page
2021-03-08 16:48:29 +00:00
Zach Wasserman
2025afee71
Better handling of config_refresh values from clients (#388)
Since the original logic was implemented, there have been some changes
in the way that config refreshes are configured. This commit reflects
those changes and should be backwards compatible.

Closes #357
2021-03-05 08:25:46 -08:00
noahtalerman
0c4720c721
Fix IP column label and section label. Add border color style for inputs. (#374) 2021-03-04 15:18:21 +00:00
Gabe Hernandez
60d830527f
always show how column name in host table (#372) 2021-03-04 10:50:45 +00:00
Gabe Hernandez
0b9d20329b
add ts to data table components (#364)
* chnage webpack to resolve typescript modules. convert TextCell to TS

* change headercell and statuscell to ts

* ignore casesensitve error, seems a bit buggy

* ignore camelcase error, we already use snakecase many places

* updated LinkCell and modules it depends on to typescript

* fix up some warnings from changes

* fix more types in textcell and hosttableconfig

* use alias imports

* add require button state interfcae
2021-03-03 16:51:39 +00:00
Gabe Hernandez
3546b7d41a
adding typescript and updating linting to work with it (#356)
* updated typescript version and tsconfig in project

* updated eslint version

* change from experimental export to supported export

* removed accidentally added script

* turn off buggy jsx-a11y eslint rules

* remove unused tslint.json

* fix wrong jsx-a11y depedency

* use correct eslint-plugin-jsx-a11y version

* fix rest of linting errors

* move back js-yaml version to 3 major
2021-03-01 07:48:51 +00:00
Gabe Hernandez
4de0090bd3
Add edit column modal feature (#351)
This adds the column toggling to the feature to the host data table.

Co-authored-by: Noah Talerman <noahtal@umich.edu>
2021-02-25 09:13:13 -08:00
Gabe Hernandez
a6c8987200
Feature - add search and sort to host table (#341)
* start adding global search filter

* update polyfill setup to use async await for react-table

* update browerslist to sensible defaults

* get global search functionality woring

* more progress on the data table

* get label network calls working in hostdatatable

* get pagination functionality into the HostDataTable

* get search query making network call

* get ordering making query

* make actual  sort order network calls

* disable cpu column sorting

* seperate get table data from get labels

* fix issues with input resetting and got search query working

* get sort working

* ignore vs code editor settings

* improve loading spinner to move inside the table

* improve styling

* add sorting arrows

* remove unused sorting arrow component

* add host query params to labels endpoint

* fix style for query textarea on label hosts

* got new pagination working

* set server data as source of truth for table global filter

* cleanup logs

* clean up pagination styles

* fix up paginationa and no host styles

* add result count to table

* remove logs

* tweak header styles

* fix to sort order

* simplify default sort direction

* keep sort order of server api responses and use in host table

* clean up logs

* Add styles for header cell and pagination

* fix tests for ManageHostPage

* fix tests for HostContainer

* fix lower level action reducer and thunk tests

* fix tests for hosts client

* fix up some host count styling

* added back no hosts start message

* fix linting errors

* remove unused old pagination code

* add back scrollToTop utility on pagination

* remove unused code in managehostpage test

Co-authored-by: Noah Talerman <noahtal@umich.edu>
2021-02-25 12:05:08 +00:00
Gabe Hernandez
8c8c3f9516
Update to new host table (#298)
* recreate host table with react-table

* move old host table and container next to other code related to host page

* start replacing old host table with new host table

* replace old table with with new data table

* fix up tests and remove some unused code
2021-02-11 16:22:22 +00:00
Zach Wasserman
7a68e3de65
Deprecate /api/v1/kolide routes (#297)
- Support both /api/v1/fleet and /api/v1/kolide routes in server.
- Add logging for use of deprecated routes.
- Rename routes in frontend JS.
- Rename routes and add notes in documentation.
2021-02-10 12:13:11 -08:00
Gabe Hernandez
1d7cfab052
Fix host target select to reflect to host context for a query (#282) 2021-02-08 14:02:20 +00:00
Gabe Hernandez
0367cf6a67
Fix issue with pack query sidebar not depopulating when query is removed (#262) 2021-02-03 11:32:17 +00:00
noahtalerman
4e8c5e7f86
Add Host details page (#238)
This PR adds a new Host details page as part of the Hosts UI project #162

Summary of changes:
- New component <HostDetailsPage />
- Move "Query" and "Delete" buttons from the hosts list to the Host details page
- Add new button variants label and text-link
- Add react-tooltip package to the project (v4.2.13)
2021-01-28 12:44:48 -08:00
noahtalerman
9d8e93ee1c
Reveal live query error information in Fleet UI (#224)
This PR adds an "Errors" table to the live query UI.

Summary of changes:
- Errors table includes the columns `hostname`, `osquery_version`, and `error`
- The errors table is only rendered when at least one host fails
- Hosts with an osquery version less than 4.4.0 always display the error "upgrade osquery on this host to 4.4.0+ for error details"
2021-01-25 17:08:28 -08:00
noahtalerman
9750a81f0e
Add image import for all icon png assets. Fix link to home from 404 and 500 pages. (#196)
- Explicitly import all icon png assets in the component files they're referenced. Instead of creating a relative path to the icon image asset in the `<Icon />` component. This allows icon assets to be independent of any custom url prefix and fixes #193. In addition, eslint now catches all unresolved paths to image assets.
- Remove the `<Icon />` component
- Remove `icon_name.js`
- Add `<Link />` component and PATHS to 404 and 500 pages. These pages now work with a custom URL prefix specified.
- Remove all icons from the Hosts side panel. These changes are part of the Hosts UI #162.
2021-01-15 08:57:27 -08:00
noahtalerman
8b1c6dd7eb
Complete front end QA (#181)
- Conduct complete visual QA for recent icon changes merged in #128
- Edit styles to vertically align the "copy" and "reveal" icons in EnrollSecretTable
- Clean up unused <KolideIcon /> properties in <SelectTargetsDropdown />
- Add min-height to left side navigation. At window heights under 500px, the user can now vertically scroll to reveal the remainder of the nav options.
- Edit 500 page styles by moving the "Show error" button above the link to "File an issue"
2021-01-07 12:35:45 -08:00
noahtalerman
72637d649b
Update links to new documentation locations. (#164)
- Add correct links to the new docs locations for links within the Fleet UI and Fleet documentation.
Fixes #157.
2021-01-04 08:53:23 -08:00
noahtalerman
573097c2a3
Close UI Refresh. Update button styles. Edit status labels for hosts list and users list. (#139)
The final PR for the UI Refresh #38.

- Complete UI issues caught during the Dec. 09 QA pass.
- Update button and color styles, including hover and active states, to align with the mockups.
- Update status labels in the hosts list and users list. The status label now includes a colored circle along with a text description.
- Fixes #138.
2020-12-18 17:36:39 -08:00
noahtalerman
510c7c0f45
Fix query editor rendering strangely in Safari. Edit query side panel styles. (#140)
Fixes #65 by bringing in new regular and bold Source Code Pro monospaced fonts.

- Remove old Source Code Pro font files
- Add new platform icons to <QuerySidePanel />
- Edit styles in <EditPackForm />
2020-12-18 09:04:43 -08:00
noahtalerman
49e71e4ed6
Add new icons for Hosts page. Fix hosts list width on wide screens. (#128)
- Add new PNG files for the new icons in the left side navigation and the right side labels on the Hosts page.
- Rename the old `<Icon />` component to `<KolideIcon />` and create a new `<Icon />` component. The ultimate goal is to get rid of the `<KolideIcon />` and `<PlatformIcon />` components and use the encompassing `<Icon />` component for all icons. The full transition will be made when we have icon assets to replace all the kolide icons and platform icons. Currently, we don't.
- Rename the `icon_name_for_label.js` utility to `icon_name.js` because the utility now includes `iconNameForLabel()` and `iconNameForPlatform()` functions.
- Fixes issue #127.
2020-12-14 18:24:16 -08:00
noahtalerman
e3edcc0ed7
Make password reset styles consistent with new global styles. (#120)
The changes include adding sentence casing and updating the styles of the and components.
2020-12-10 14:34:17 -08:00
noahtalerman
1b23b7b74f
Add style fixes caught during QA. Add favicon. (#119)
Changes include style fixes that were caught during a QA pass.
2020-12-10 13:09:05 -08:00
noahtalerman
98799fdff8
New styles for 404, 500, Login, User settings, and Confirm invite pages. (#108)
- Kolide404 and Kolide500 components renamed to Fleet404 and Fleet500
- Styling for Login and Confirm invite pages are consistent with the recent changes to the Setup page.
- Add "*" character to the 404 <Route />'s path property. Now the 404 page renders when there is no exact path match.
2020-12-08 17:45:08 -08:00
noahtalerman
523d596c77
Update app settings page and osquery options page styles. (#107)
The goal of this PR is to implement the new global styling (colors, buttons, and fonts) to the "App settings" and "Osquery options" pages. These pages are only visible to users granted an admin role.
2020-12-08 12:08:59 -08:00
noahtalerman
5dd9b75e9c
Update query page (edit, new, manage) and packs page (edit, new, manage) styles. (#106)
The goal of this PR is to update the style across the query and packs pages so they are consistent with the latest global styles (colors, buttons, and fonts).
2020-12-08 12:07:54 -08:00
noahtalerman
cc0d578b75
Update manage users styles. Implement table (list) view. (#104)
The goal of this PR is to change the layout of the manage users to a table (list view).

Move the user actions into the table view.
Move EditUserForm into a Modal
Update styles for InviteUserForm
Edit copy for the configuring SMTP warning.
2020-12-08 11:58:19 -08:00
noahtalerman
028b968ff5
New styles for label creation form. (#101)
The goal of this PR is to update the styles of the LabelForm component.
Also include global style changes for form components (FormField, LabelForm, and others).
2020-12-07 15:08:59 -08:00
noahtalerman
d029ab18f9
Update add new host modal. (#94)
- The goal of this PR is to update the styles of the "Add new host" modal.
- Move the "Add new host" button from the hosts sidebar to the center column.
- Add max-width to the hosts list container and the hosts header.
2020-12-04 15:19:08 -05:00
noahtalerman
7d9906e5ea
Update Fleet setup styles (#78)
This PR is part of the UI Refresh #38.

The goal of this PR is to update the styles of the Fleet setup (onboarding) flow.
2020-12-02 09:59:44 -05:00
Zach Wasserman
0670db66c4
Migrate JS tests to Jest and update libraries (#74)
- Move from Mocha to Jest for JS testing (Jest seems to have better support for
 'watching' tests and a more active community these days).
- Codemod existing tests to Jest syntax (using https://github.com/skovhus/jest-codemods)
- Fix some errors in tests that were previously hidden.
- Update Babel.
2020-12-01 10:15:12 -08:00
noahtalerman
3953afb0b0
New styles and layout for hosts page. Remove grid view. (#73)
The goal of these changes is to update the main content (center column) of the /hosts page.

What is included in these changes:
- Removing the grid view for hosts. This required removing the actions, reducers, and props using to toggle the display between grid and table view. The toggle buttons in the UI are also removed.
- Adding host_cpu, memory, and uptime columns to the table. This increases the table's width which is now horizontally scrollable.
- Removing the HostDetails component used in the grid view. Moving the helpers.js file to HostTable. Adjusting JS tests to account for these changes.
- Updating pagination styles.
2020-11-30 13:23:58 -05:00
noahtalerman
51cfb07f64
Implement global colors. Add italic font. (#64)
The goal of this PR was to insert new colors, remove legacy colors, and update only the styles accordingly. The Nunito Sans Italic font was also added.

Later PRs will include layout, copy, and style change to individual components. These later changes will more exactly resemble the current mockups.
2020-11-24 08:59:03 -08:00
Zach Wasserman
6dccabb5b0
Clean up output of JS test errors (#63)
- Output easy to parse stack traces during run of tests
- Fix some spurious warnings and errors in tests
- Add --exit flag to Mocha invocation to fix hang due to timers in ACE editor
2020-11-24 08:25:52 -08:00
noahtalerman
8df16949f5
Add fleet assets including logos, 404 image, and 500 image. (#61)
This is the second PR as part of the Fleet UI Refresh #38.

The goal of this PR was to insert all updated Fleet assets and remove all old assets. More style changes, including the exact sizing and placement of the new images, will occur in a future PR.
2020-11-23 11:22:42 -08:00
noahtalerman
23ce98ec51
Add Nunito Sans font and update global styles. (#59)
This is the first PR as a part of the Fleet UI Refresh #38.

Changes include:

- Add Nunito Sans font files and modify global styles to reflect the font change.
- Modify global font variables to reflect new sizing and weight naming conventions.
-- New sizing and naming conventions:
--- SIZE: xx-small: 12px, x-small: 14px, small: 16px, medium: 20px, large: 24px, x-large: 28px
--- WEIGHT: regular: 400, bold: 700
- Remove the old Oxygen font files.

Changes to other style sheets reflect the changes to the new font sizing and weight naming conventions for global variables. The changes don't necessarily use the correct size (as illustrated by mockups). Those "up to spec" sizing changes are to come.
2020-11-19 16:51:22 -08:00
noahtalerman
0ff621670c
Changed the Help link and other links to fleetdm/fleet documentation 2020-11-04 21:36:06 -08:00
noahtalerman
8e37b8938c
Implement osquery options page (#11)
Created 3 new components: <OsqueryOptionsPage /> , <OsqueryOptionsForm />, and <YamlAce />

The <OsqueryOptionsPage /> component is rendered at the new route /admin/osquery. The user navigates to this route by selecting the "Osquery Options" sub-navigation in the admin dropdown menu.

On the Osquery Options page, the user is presented with a ACE editor filled with the current osquery options. The current osquery options are retrieved from the serve when the page component mounts. These current osquery options are stored in the osquery slice of state.

Clicking "UPDATE OPTIONS" will trigger a form submit and hit the v1/kolide/spec/osquery_options endpoint if the yaml is valid. If the yaml is not valid, an error message is presented to the user with details on what the error is and where it occurred. If the yaml is valid, the osquery options will be updated even if the options haven't change.
2020-11-04 18:00:51 -08:00
Zachary Wasserman
a36bef6c16
Improve "Add New Host" dialog (#8)
- Allow download of enroll secret, server certificate, and flagfile.
- Hosts can now be added following instructions directly.
2020-11-04 17:07:58 -08:00
noahtalerman
d604c6a106
Updated 500 page copy and added button to reveal error message. (#1)
Updated the 500 page component to render a "SHOW ERROR" button.

This button is only rendered if the errors slice of the state contains an error and the base property exists. Otherwise, the 500 page will not render this button because there is no error message to show the user.

Created a errors500 reducer and actions to update the state tree when a 500 error occurs. When 500 error occurs, the errors slice of state is updated with the error object. When the 500 page component unmounts the error object is removed from state.

Demo: https://www.loom.com/share/b87c4aee42274e7bb553e703d3f950c6
2020-11-04 12:07:53 -08:00
James Alseth
a2f49dd620
Add hostname to delete host confirmation modal (#2310)
Fixes #2233
2020-10-01 09:38:43 -07:00
Zachary Wasserman
7494513400 Clean up and comments before merge. 2020-07-21 14:05:46 -07:00
Zachary Wasserman
42bea2a144 Implement manual labels
"Manual" labels can be specified by hostname, allowing users to specify
the membership of a label without having to use a dynamic query. See the
included documentation.
2020-07-21 14:05:46 -07:00
Zachary Wasserman
b0595748f1 Implement pagination of hosts in the web UI
This commit takes advantage of the existing pagination APIs in the Fleet
server, and provides additional APIs to support pagination in the web
UI. Doing this dramatically reduces the response sizes for requests from
the UI, and limits the performance impact of UI clients on the Fleet and
MySQL servers.
2020-07-21 14:05:46 -07:00
Zachary Wasserman
ccc8581229
Upgrade eslint and dependencies (#2255)
Updates configuration and fixes issues introduced
2020-07-06 19:31:48 -07:00
Zachary Wasserman
c1aa8355cb
Add support for multiple enroll secrets (#2238)
- Support multiple enroll secrets
- Record name of enroll secret used when host enrolls
- Update fleetctl and UI to support these features
2020-05-29 09:12:39 -07:00
billcobbler
a83a26b279 Add ability to disable live queries (#2167)
- Add toggle to disable live queries in advanced settings
- Add new live query status endpoint (checks for disabled via config and Redis health)
- Update QueryPage UI to use new live query status endpoint

Implements #2140
2020-01-13 16:53:04 -08:00
Zachary Wasserman
d453ca3f8f
Enable eslint file resolution linting (#2119)
Previously this was disabled (perhaps unintentionally due to the
duplicate settings in the .eslintrc.js). Enable the lint rule and fix
the violations.

May fix JS build issues on case-sensitive filesystems.
2019-10-22 13:00:31 -07:00
Zachary Wasserman
adf87140a7
Add ability to prefix Fleet URLs (#2112)
- Add the server_url_prefix flag for configuring this functionality
- Add prefix handling to the server routes
- Refactor JS to use appropriate paths from modules
- Use JS template to get URL prefix into JS environment
- Update webpack config to support prefixing

Thanks to securityonion.net for sponsoring the development of this feature.

Closes #1661
2019-10-16 16:40:45 -07:00
Zachary Wasserman
1eccf9a874
Add warning in query UI when Redis fails (#2086)
- Add warning message when Redis fails
- Disable query button when Redis fails
- Refactor SMTP warning banner into component for reuse

Closes #2073
2019-08-13 09:42:58 -07:00
Zachary Wasserman
1344653412
Minor style fixes in frontend (#2084)
- Fix padding in query editor autocomplete box
- Hide cursor in read-only query editor
- Remove styling of active line in query editor (which does not update
  properly and is therefore distracting)
- Fix padding and reorder buttons in delete label modal
2019-07-31 12:05:10 -07:00
Zachary Wasserman
f3df07318c
Improve server and browser performance on host dashboard (#2061)
- Prevent a second (unnecessary) retrieval of all hosts when page loaded.
- Disable automatic reloading of hosts when over 100 hosts are present.

This is a stopgap solution to reduce the performance impact of
repeatedly loading many hosts. The final solution will be to implement
proper pagination.
2019-06-26 16:03:47 -04:00
Zachary Wasserman
2060d001c6
Run correct query even after targets are set (#2060)
This PR corrects the query editor behavior to run the correct query in
all (tested) circumstances.

Fixes the original issue in #2028 and #2054 (introduced by the fix in #2030)

Closes #2054
2019-06-12 10:39:50 -07:00
Zachary Wasserman
9ef377a2b0
Run correct query when navigating to query by URL (#2030)
Fixes a bug in which the default query would run rather than the query
displayed in the editor unless that query was manually edited after the
page loaded.

Fixes #2028
2019-04-25 11:00:35 -07:00
Zachary Wasserman
992151fb8f
Clarify labels UI (#2012)
- Clarify language
- Add note about label queries being immutable

Closes #1384
2019-03-10 13:51:25 -07:00
Zachary Wasserman
2b2866a413
Tooltip for Add User button indicating why it is disabled (#2010) 2019-03-07 12:01:41 -08:00
Zachary Wasserman
c8229cc0d6
Replace uses of the term "Kolide" with "Fleet" (#1999)
Almost two years ago, we began referring to the project as Fleet, but there are
many occurences of the term "Kolide" throughout the UI and documentation. This
PR attempts to clear up those uses where it is easily achievable.

The term "Kolide" is used throughout the code as well, but modifying this would
be more likely to introduce bugs.
2019-01-24 09:39:32 -08:00
Zachary Wasserman
ca84f84078
Add query editor support for control-return (#1979)
- Control-return in the editor will now run the query

Closes #1631
2019-01-15 11:06:52 -08:00
Zachary Wasserman
6767369d48
Upgrade React to version 16 (#1983)
- Update all associated dependencies
- Very minimal changes to components
- Extensive refactoring for broken tests

Closes #1978
2019-01-14 13:45:28 -08:00
Zachary Wasserman
dc4b97d15f
Fix React deprecation warnings (#1976)
- Refactor imports of PropTypes to use the prop-types package
- Upgrade dependencies that were setting off deprecation warnings
2019-01-06 17:25:33 -08:00
Zachary Wasserman
085415aa7b
Allow selection of query targets by UUID in URL params (#1972)
Closes #1934
2019-01-06 17:21:15 -08:00
Zachary Wasserman
759a69b5b7
Upgrade Bourbon to 5.1.0 and fix deprecation warnings (#1973)
- Replace uses of deprecated Bourbon helpers with raw CSS
- Add autoprefixer into the build chain to prefix the now removed helpers

This process was achieved by running through each of the deprecation warnings and using the following bash function to replace it in all files:

```
function bourbon-deprecate() {
    grep -rl "@include $1" ./frontend --exclude-dir=.git | xargs sed -i '' -E "s/@include $1[(](.*)[)]/$1: \1/g"
}
```

For some helpers, this did not result in valid CSS, so manual modifications were made.

Closes #1189 #1274
2019-01-03 12:46:55 -08:00
Caleb Coy
0bb9c409a0 Flatten login screen styles (#1912) 2018-09-19 10:07:37 -04:00
Caleb Coy
847cb193fc Flatten visual styles (#1908) 2018-09-18 14:14:13 -07:00
Zachary Wasserman
79b2249e69
Allow update of settings page without enabling SMTP (#1903)
Fixes #1871
2018-09-07 15:37:35 -07:00
Caleb Coy
60bd9157b6 convert rocker button to standard buttons (#1906) 2018-08-29 10:38:43 -04:00
Zachary Wasserman
bb789b4932
Display errors on password reset page (#1902)
Fixes #1885
2018-08-16 11:25:42 -07:00
Zachary Wasserman
6bdddfacf0
Expose API Token in UI (#1868)
Useful for SAML login users who cannot log in with `fleetctl login`. Instead
they can pull their session token from the UI and configure the fleetctl client
to use it.

Closes #1865
2018-07-17 11:27:30 -07:00
Mike Arpaia
de6dbd0f13
Remove decorators and osquery config from the UI (#1769) 2018-05-08 11:03:32 -06:00
Victor Vrantchan
ca5f63dd4f
replace support email with github issue link (#1656) 2017-12-01 12:15:50 -05:00
Zachary Wasserman
923e4e1f08
Fix issue in which default query runs instead of entered query (#1616)
Verified to work in the following scenarios:
- Saved query loaded and run
- Saved query loaded, edited, and run
- New query edited and run

Closes #1611
2017-11-15 11:20:42 -08:00
Mike Arpaia
3ed772a251
Update text on login successful page (#1601) 2017-11-12 04:48:34 -05:00
Kyle Knight
78b831a6d2 Hosts Pagination (#1594) 2017-11-07 12:54:56 -05:00
Mike Arpaia
9d21cbdb8a removing license code (#1551) 2017-09-01 10:42:46 -06:00
John Murphy
f58e36e66a Fixed issue with query state, and query form title (#1550)
The component state of QueryPage was not assigned correctly, occasionally causing incorrect queries to be executed.
2017-08-23 14:00:24 -05:00
John Murphy
d8ce89f42d Add ability to handle empty set of decorators (#1515)
Normally a Kolide user will always have at least two built in decorators that they can't delete through the UI so a situation with zero decorators should never happen; however, in the event we change this behavior in the future, or a user manually deletes decorators from the database the UI should handle an empty decorator set.
2017-06-01 17:17:37 -05:00
John Murphy
151ce35e8c Front end support for decorator crud ops (#1509)
This PR closes #1448, providing front end CRUD operations for decorators.* Front end support for decorator crud ops.
2017-05-30 13:36:29 -05:00
John Murphy
019191c36b SSO Login and Configuration Support (#1506)
Closes issue #1456 This PR adds a single sign on option to the login form, exposes single sign on to the end user, and allows an admin user to set single sign on configuration options.
2017-05-17 10:58:40 -05:00
John Murphy
12d2df1f9a Add SSO support to new user activation (#1504)
Closes #1502. This PR adds support for SSO to the new user creation process. An admin now has the option to select SSO when creating a new user.  When the confirmation form is submitted, the user is automatically authenticated with the IDP, and if successful, is redirected to the Kolide home page. Password authentication, password change and password reset are not allowed for an SSO user.
2017-05-10 11:26:05 -05:00
John Murphy
d533931799 Addresses Issue where the reset button doesn't work on options page (#1447)
Closes issue #1388. The problem here is that previously, the reset button loaded a hard coded list of default options into the component state, instead of the proper behavior which is to reset the options to default values on the back end, and then load them back into the redux store. This PR adds a ResetOptions endpoint on the server, and wires up the UI so that it triggers the endpoint, then loads the default options from the backend server.
2017-03-30 18:56:11 -05:00
Kyle Knight
28f0247654 Fix busted scrolling after full screen query results (#1400) 2017-03-13 11:20:34 -04:00
Kyle Knight
8121e7cf3a Add selected styles to Pack Row (#1379) 2017-03-13 09:32:47 -04:00
Mike Stone
a853acd172 Fix bug selecting targets when querying a host (#1366) 2017-03-09 13:01:15 -08:00
Kyle Knight
b23ab83336 Display loading icon until host details are saved (#1376) 2017-03-09 10:50:53 -05:00
Kyle Knight
14fa984bd3 Update All platform text to use Icon (#1363) 2017-03-08 08:40:02 -08:00
Mike Stone
658ee2f3ee Fix 907 - stop query when websocket finishes (#1371) 2017-03-07 16:24:30 -05:00
Kyle Knight
13f06904ee Toggle small nav after leaving query page (#1355) 2017-03-06 17:34:30 -05:00
Mike Stone
d747a471af Refactor API client (#1335)
* Isolate each API entity
* Improve code structure in API client and request mocks
* Standardize on a request mock structure
* Use helper for creating request mocks
* Adds Request class to handle API requests
2017-03-02 17:07:01 -05:00
Mike Stone
230b7a870d Refactor redux config (#1325)
* Refactor - redux entity actions

* Refactor - config entities reducer

* Replaces ReduxConfig with new Config class
2017-03-02 16:05:25 -05:00
Kyle Knight
acd30332ec Render the spinner while hosts load (#1289) 2017-03-02 11:53:08 -05:00
Zachary Wasserman
3d6ca7d5a4 Use sockjs to gracefully degrade websockets (#1255)
Use the [SockJS Protocol](https://github.com/sockjs/sockjs-protocol) to handle
bidirectional communication instead of plain websockets. This allows
distributed queries to function in situations in which they previously failed
(Load balancers not supporting websockets, issues with Safari and self-signed
certs, etc.).

Also includes fixes to the JS message handling logic where slightly different
message delivery semantics (when using XHR) were exposing bugs.

Fixes #1241, #1327.
2017-03-01 13:14:26 -08:00
Kyle Knight
169535afab Fix max-height issue with Full Screen Query Results (#1323) 2017-03-01 13:11:09 -06:00
Zachary Wasserman
4561aedd1f Fix inconsistencies with sidebar label counts (#1328)
- Fix a bug that caused hosts between 24 and 25 hours old to appear new
- Ensure "platform" labels use the count provided by the server

Fixes #1270
2017-03-01 10:50:09 -08:00
Kyle Knight
4d50d87a6a Replace Packs delete icon (#1314) 2017-02-27 12:05:48 -05:00
Kyle Knight
4d7a850481 Fix full-screen view by removing shrinking class (#1313) 2017-02-27 12:04:52 -05:00
Kyle Knight
b7fb83ce4b Full Screen Query Results (#1238) 2017-02-24 18:01:43 -05:00
Kyle Knight
4aaf847edc Add Double Click event to Packs & Query tables (#1306) 2017-02-24 17:47:32 -05:00
Mike Stone
cc37cfa828 Allows users to update their email address (#1232) 2017-02-24 10:08:59 -05:00
Kyle Knight
0d6aa52ce2 Remove extraneous flash success messages (#1226) 2017-02-23 09:49:16 -06:00
Mike Stone
6446fee2f4 Render label description or default description (#1215) 2017-02-21 17:40:59 -05:00
Kyle Knight
b580e2e57b Stop horizontal scrolling on /setup (#1220) 2017-02-21 09:01:03 -06:00
Mike Stone
8b4b43fb82 938 pack query inspector (#1177)
* API client for patching a scheduled query

* Change select to check on ScheduledQueriesLists

* Clicking a scheduled query list item selects the scheduled query

* Helpers to format scheduled queries for client/server

* Allow updating a scheduled query

* Form cancel button
2017-02-17 13:11:43 -05:00
Mike Stone
803bc41366 New query page updates (#1229)
* Stop rendering results when query hasn’t been run

* Adds QueryPageSelectTargets component

* Re-arranges target select input on Query Page

* Adds label to KolideAce component

* Re-arrange inputs on the Query Form component
2017-02-16 15:31:21 -05:00
Mike Stone
ff74ba2233 Edit labels (#1207)
* Moves LabelForm outside of the QueryForm component

* Render LabelForm in ManageHostsPage

* API client to update labels

* Edit button styles
2017-02-15 09:51:19 -05:00
Mike Stone
545961ad5b Login user after setup (#1200) 2017-02-13 20:08:48 -05:00
Mike Stone
b32e489716 Fix JS test warnings (#1209) 2017-02-13 18:19:00 -05:00