Commit Graph

674 Commits

Author SHA1 Message Date
Martavis Parker
a11282cdee
Host MDM and Munki (#2145)
* refactor host details; TS and hooks

* layout change

* added mdm and munki to details; fixed styles

* changes file

* lint fixes

* using username for key
2021-09-28 14:05:25 -07:00
Martavis Parker
1165e6c172
Create/Edit user error handling (#2173)
* better error handling; fixed styles

* changes file

* lint fixes
2021-09-28 13:30:36 -07:00
Martavis Parker
fba8bcb70b
Added ability to delete selected text for SQL editor (#2265)
* refactored state mgmt for query console

* changes files

* lint fixes

* teams e2e test were flaky

* lint fixes

* fixed bug for observer running query, run again button

* fixed inconsistent query body change

* disabled refetch on window focus

* added ability to delete selected sql text
2021-09-28 12:57:47 -07:00
Martavis Parker
8ab5c27621
Fixed passing query info around Query console (#2247)
* refactored state mgmt for query console

* changes files

* lint fixes

* teams e2e test were flaky

* lint fixes

* fixed bug for observer running query, run again button

* fixed inconsistent query body change

* disabled refetch on window focus
2021-09-28 11:33:51 -07:00
RachelElysia
7dee7c56ef
Schedules Page: Surface all teams schedule on team schedule page (#2080)
* Render inherited queries table on teams page
* e2e team schedules on e2e premium testing
2021-09-23 13:10:43 -04:00
RachelElysia
4ace3b4bc5
Fix Bug: Global maintainer can now edit SQL in create new query (#2204) 2021-09-23 13:07:17 -04:00
RachelElysia
948e5ca943
No clicking on new query (#2186) 2021-09-22 11:37:03 -04:00
Martavis Parker
b3bafee363
Team maintainer create & run new query, no save (#2141)
* team maintainer create & run new query, no save

* lint fixes

* showing table sidebar for team maintainer

* style fixes to no results

* lint fix
2021-09-21 07:10:08 -07:00
Martavis Parker
1d1e0b5f5f
Fixed style for sidebar (#2154)
* fixed style for sidebar

* changes file

* Reduce minimum width of body-wrap to prevent right sidebar from overflowing min app width of 1200px

Co-authored-by: Noah Talerman <noahtal@umich.edu>
2021-09-20 17:20:46 -07:00
Martavis Parker
8c7155aba1
Flaky ManageHosts page for observers (#2116)
* fixed blank hosts screen; 403 for enroll secret

* lint fix

* added changes log
2021-09-16 16:36:25 -07:00
Tomas Touceda
429af72b69
Issue 1963 vulnerabilities no sync (#1976)
* wip

* Add tests for skip sync

* Add changes file

* Fix lint
2021-09-14 10:58:35 -03:00
Martavis Parker
596a54e781
Urgent bug fixes for Query Experience - v4.3.0 (#2033)
* Step 1 for improving query experience (#1591)

* fake change to create draft PR

* temp routes to work and not modify old query page

* created new API abstraction for query

* refactored App.jsx to prepare react-query

* fixed flow of redirects after page refresh; functional component added

* setup for getting data on edit

* implementing functions for query page

* Old form showing on new setup

* improving and breaking up query form

* no need for the helpers anymore; clean up

* added type for button component variant

* step toward new save modal; have to switch gears to #1619

* creating new query works

* clean up

* linting cleanup

* added default value for new query

* will address dynamic save disabled in edit step

* Step 2 for improving query experience (select targets) (#1732)

* fake change to create draft PR

* temp routes to work and not modify old query page

* created new API abstraction for query

* refactored App.jsx to prepare react-query

* fixed flow of redirects after page refresh; functional component added

* setup for getting data on edit

* implementing functions for query page

* Old form showing on new setup

* improving and breaking up query form

* no need for the helpers anymore; clean up

* added type for button component variant

* step toward new save modal; have to switch gears to #1619

* creating new query works

* clean up

* linting cleanup

* added default value for new query

* split steps into separate files for readability

* components laid out

* new targets picker

* function clean up

* styling tables

* fixing logic

* fixed logic to keep getting related hosts

* formatting targets for API

* fixed default query

* clean up

* styled target selectors; fixed target input styles

* began total count

* forgot to remove debugging code

* lint fixes

* added target count from API

* clean up

* able to remove selected host targets from table

* lint fixes

* Improving query experience - Step 3 (query results) (#1766)

* fake change to create draft PR

* temp routes to work and not modify old query page

* created new API abstraction for query

* refactored App.jsx to prepare react-query

* fixed flow of redirects after page refresh; functional component added

* setup for getting data on edit

* implementing functions for query page

* Old form showing on new setup

* improving and breaking up query form

* no need for the helpers anymore; clean up

* added type for button component variant

* step toward new save modal; have to switch gears to #1619

* creating new query works

* clean up

* linting cleanup

* added default value for new query

* split steps into separate files for readability

* components laid out

* new targets picker

* function clean up

* styling tables

* fixing logic

* fixed logic to keep getting related hosts

* formatting targets for API

* fixed default query

* clean up

* styled target selectors; fixed target input styles

* began total count

* forgot to remove debugging code

* lint fixes

* added target count from API

* clean up

* able to remove selected host targets from table

* lint fixes

* connected run query with modern React/JS; clean up

* linting fixes

* fixed logic to retrieve results from live query

* linting fixes

* created new, simpler query progress

* populating results and errors tables as expected

* syntax fixes

* fixing styles for query results

* more styling for query results

* manual merge from main

* Rename core->free and basic->premium

* Fix lint js

* Comment out portion of test that seems to timeout

* Rename tier  to premium if basic is still loaded

* go sum

* Query Experience Cleanup Tasks (#1807)

* fixes to get merged main branch to build and work

* moved screens for query pages; clean up

* updated and typed react ace for query form; clean up

* using console error instead

* added real types instead of `any` except for errors

* query side panel ts and functional. prep for close task.

* ability to hide, show query table sidebar

* improved live query status warning

* added loading and error state for targets search

* error screen for targets; improved loading display

* now using API-created label for all linux

* missed some files on previous commit

* able to edit query

* clean up

* lint fixes

* query results showing as they come

* remove unused code

* removed old query page. major file cleanup.

* removed selectedTargets redux implementation

* removed unused redux actions and reducers

* removed unused keys in initial state

* selectedOsqueryTable is now using context API

* removed all querypages redux code

* set up context for app and user

* fixed auth with temp fix for wrapper

* completed redux removal from query page

* fixed var names coming from main branch

* fixed var name changes coming from issue 1501

* fixed save popup bug; clean up

* added permissions

* fixed login redirect

* removed unused props

* linting fix

* clean up

* removed unused component, refactor, and clean up

* fixed styles for step 1 as admin

* fixed styles for step 1 as observer

* fixed percentage of online hosts

* added loading progress to query stop button

* reset query status on run again

* added download icon to export button text

* fixed error reset on name input; fixed styles

* fixed bug where query value wasn't saving

* fixed query value when blank

* fixed bug - default query was running every time

* auto adding host from url to targets

* fixed flows for repeating run and save steps

* fleet ace is now TS and functional

* fixed a couple of tests

* fixed issues with query value text inconsistencies

* fixed query side panel not showing

* hiding error count if not > 0

* fixed showing editor for different roles

* using integer for targets

* go sum

* fixed targets param

* catching all errors while running query

* fixed hover state for title and description

* ignore unit test for now; lint fixes

* locking react-ace version

* ignoring tests breaking in github actions

* brought tests back

* fixing file name

* fixing file name again

* fixed e2e test

* have to ignore tests for now

* ignore certain premium tests for now

* one last test to revamp

* another test

* fixed teamflow test

* fixed observer query 403

* lint fixes

* fixed maintainer test

* added changes file

* query sidebar cleanup

* fixed save modal feedback

* reset targets after done button clicked

* using edited query on run

* fixed query modal value conflict

* lint fixes

* fixed running edited saved query

* fixed form prop conflicts with local state

* lint fixes

* remove logs

* have to reset value when query id changes

Co-authored-by: Tomas Touceda <chiiph@gmail.com>
2021-09-13 14:23:24 -07:00
gillespi314
6a3458f6f0
Fix missing field in setup confirmation (#2005)
* Fix missing field in setup confirmation

* Change setup buttons text
2021-09-10 18:53:28 -05:00
gillespi314
61579b3b2e
Refactor PillCell; adjust content and tooltip (#2001) 2021-09-10 15:22:15 -05:00
Martavis Parker
5d647025f9
1497 improved query experience (#1998)
* Step 1 for improving query experience (#1591)

* fake change to create draft PR

* temp routes to work and not modify old query page

* created new API abstraction for query

* refactored App.jsx to prepare react-query

* fixed flow of redirects after page refresh; functional component added

* setup for getting data on edit

* implementing functions for query page

* Old form showing on new setup

* improving and breaking up query form

* no need for the helpers anymore; clean up

* added type for button component variant

* step toward new save modal; have to switch gears to #1619

* creating new query works

* clean up

* linting cleanup

* added default value for new query

* will address dynamic save disabled in edit step

* Step 2 for improving query experience (select targets) (#1732)

* fake change to create draft PR

* temp routes to work and not modify old query page

* created new API abstraction for query

* refactored App.jsx to prepare react-query

* fixed flow of redirects after page refresh; functional component added

* setup for getting data on edit

* implementing functions for query page

* Old form showing on new setup

* improving and breaking up query form

* no need for the helpers anymore; clean up

* added type for button component variant

* step toward new save modal; have to switch gears to #1619

* creating new query works

* clean up

* linting cleanup

* added default value for new query

* split steps into separate files for readability

* components laid out

* new targets picker

* function clean up

* styling tables

* fixing logic

* fixed logic to keep getting related hosts

* formatting targets for API

* fixed default query

* clean up

* styled target selectors; fixed target input styles

* began total count

* forgot to remove debugging code

* lint fixes

* added target count from API

* clean up

* able to remove selected host targets from table

* lint fixes

* Improving query experience - Step 3 (query results) (#1766)

* fake change to create draft PR

* temp routes to work and not modify old query page

* created new API abstraction for query

* refactored App.jsx to prepare react-query

* fixed flow of redirects after page refresh; functional component added

* setup for getting data on edit

* implementing functions for query page

* Old form showing on new setup

* improving and breaking up query form

* no need for the helpers anymore; clean up

* added type for button component variant

* step toward new save modal; have to switch gears to #1619

* creating new query works

* clean up

* linting cleanup

* added default value for new query

* split steps into separate files for readability

* components laid out

* new targets picker

* function clean up

* styling tables

* fixing logic

* fixed logic to keep getting related hosts

* formatting targets for API

* fixed default query

* clean up

* styled target selectors; fixed target input styles

* began total count

* forgot to remove debugging code

* lint fixes

* added target count from API

* clean up

* able to remove selected host targets from table

* lint fixes

* connected run query with modern React/JS; clean up

* linting fixes

* fixed logic to retrieve results from live query

* linting fixes

* created new, simpler query progress

* populating results and errors tables as expected

* syntax fixes

* fixing styles for query results

* more styling for query results

* manual merge from main

* Rename core->free and basic->premium

* Fix lint js

* Comment out portion of test that seems to timeout

* Rename tier  to premium if basic is still loaded

* go sum

* Query Experience Cleanup Tasks (#1807)

* fixes to get merged main branch to build and work

* moved screens for query pages; clean up

* updated and typed react ace for query form; clean up

* using console error instead

* added real types instead of `any` except for errors

* query side panel ts and functional. prep for close task.

* ability to hide, show query table sidebar

* improved live query status warning

* added loading and error state for targets search

* error screen for targets; improved loading display

* now using API-created label for all linux

* missed some files on previous commit

* able to edit query

* clean up

* lint fixes

* query results showing as they come

* remove unused code

* removed old query page. major file cleanup.

* removed selectedTargets redux implementation

* removed unused redux actions and reducers

* removed unused keys in initial state

* selectedOsqueryTable is now using context API

* removed all querypages redux code

* set up context for app and user

* fixed auth with temp fix for wrapper

* completed redux removal from query page

* fixed var names coming from main branch

* fixed var name changes coming from issue 1501

* fixed save popup bug; clean up

* added permissions

* fixed login redirect

* removed unused props

* linting fix

* clean up

* removed unused component, refactor, and clean up

* fixed styles for step 1 as admin

* fixed styles for step 1 as observer

* fixed percentage of online hosts

* added loading progress to query stop button

* reset query status on run again

* added download icon to export button text

* fixed error reset on name input; fixed styles

* fixed bug where query value wasn't saving

* fixed query value when blank

* fixed bug - default query was running every time

* auto adding host from url to targets

* fixed flows for repeating run and save steps

* fleet ace is now TS and functional

* fixed a couple of tests

* fixed issues with query value text inconsistencies

* fixed query side panel not showing

* hiding error count if not > 0

* fixed showing editor for different roles

* using integer for targets

* go sum

* fixed targets param

* catching all errors while running query

* fixed hover state for title and description

* ignore unit test for now; lint fixes

* locking react-ace version

* ignoring tests breaking in github actions

* brought tests back

* fixing file name

* fixing file name again

* fixed e2e test

* have to ignore tests for now

* ignore certain premium tests for now

* one last test to revamp

* another test

* fixed teamflow test

* fixed observer query 403

* lint fixes

* fixed maintainer test

* added changes file

Co-authored-by: Tomas Touceda <chiiph@gmail.com>
2021-09-10 12:06:37 -07:00
RachelElysia
d32479622c
App Settings Page: Host status webhook UI (#1899)
* Skeleton UI

* Rebase to main

* Work towards config API request modification

* Nest and unnest when formatting for server and frontend

* Changelog

* Add validation to UI, fix ? vertical spacing

* Rebase e2e

* 1 of 2 passing unit tests for config

* Update REST-API.md to include webhook_settings

* Destructure / flatten config webhook in unit test

* Merge advance options e2e conflict

* x and y example not x and x

* Fix observer e2e

* Add new data to read only example request

Co-authored-by: Noah Talerman <noahtal@umich.edu>
Co-authored-by: Martavis Parker <martavis@auraticdevelopment.com>
2021-09-10 10:49:11 -07:00
Tomas Touceda
6d2ae02efd
Rename core->free and basic->premium (#1870)
* Rename core->free and basic->premium

* Fix lint js

* Comment out portion of test that seems to timeout

* Rename tier  to premium if basic is still loaded
2021-09-03 13:05:23 -03:00
gillespi314
5c707ae21f
Conform usage of query names for scheduled queries (#1924) 2021-09-03 10:57:25 -05:00
gillespi314
a8c4e10fad
FleetUI: Update Avatar component (#1880)
* Replace default avatar; update components

* Add permanent images folder to website; update paths

* Disable flaky e2e tests
2021-09-02 12:12:42 -05:00
RachelElysia
66597ced71
App wide UI: Error and empty states for tables (#1875) 2021-09-02 08:16:19 -04:00
RachelElysia
36971b4cb8
Host Details Page: Query performance column (#1867) 2021-09-01 18:08:20 -04:00
RachelElysia
da2a3aa1f0
App Settings Page: New advance options UI (#1832) 2021-09-01 10:57:25 -04:00
gillespi314
84615afbb3
Fix display of platform labels (#1866)
* Add policies UI components

* Add policy filter to hosts page
2021-08-31 20:02:23 -05:00
gillespi314
52b62c7dcd
Adjust software vulnerabilities UI (#1871) 2021-08-31 15:20:53 -05:00
gillespi314
452392f5d2
Add new feature: Policies (#1772) 2021-08-30 18:02:53 -05:00
RachelElysia
36b69c7a68
UI: License expiration warning banner (#1825) 2021-08-30 15:52:13 -04:00
RachelElysia
fcd0b3a88b
Disabled text: black-50 and italicized (#1827) 2021-08-27 09:25:04 -07:00
Zach Wasserman
780a728f05
Improve hiding of UI flash messages (#1728)
Use the React hooks for modifying state rather than operating directly
on the DOM for hiding of the flash messages.
2021-08-26 17:07:16 -07:00
noahtalerman
35d15d1274
Update sidepanel padding on existing "New" and "Edit/run" query pages + additional "spiffier" changes (#1716)
- Set explicit width so that changing the selected table does not alter the side panel's width
- Update side panel padding to match Figma
- Update "Software" table styles on the **Host details** page to prevent the table from overflowing the page
- Adjust alignment for edit and delete label icons on **Hosts** page
- Reveal macOS icon the "Hosts" page
2021-08-19 08:39:35 -04:00
Martavis Parker
1288944c07
Fix side panel width on query page (#1727) 2021-08-18 18:23:24 -07:00
Zach Wasserman
39cef4c43f
Revert "Fleet UI: Reroute homepage (#1640)" (#1724)
Reverts #1640 so that the homepage does not change during the patch release.

This commit will be re-applied after the release is cut.
2021-08-18 18:06:03 -07:00
RachelElysia
b85fbcbc83
Table Checkboxes: Checkboxes uncheck only on success notification (#1707)
- Uses Context API to track state
- resetSelectedRows default to false and only momentarily becomes true upon successful notification

Several other ideas were explored and ruled out including: asyncDebounce (impossible approach), applying state throughout the app (not concise nor maintainable), modifications directly to DataTable only (react-table did not have the right key combinations to reset selected rows manually when we needed).

Closes #1540 

Co-authored by: @martavis
2021-08-18 16:58:56 -07:00
gillespi314
8c38b587f4
Fix query table sorting (#1708) 2021-08-18 09:00:02 -05:00
noahtalerman
4b5891edbc
Add minimum width for Fleet UI and "Pack" tables on "Host details" page and "Queries" table (#1701)
- Add `$min-app-width: 1200px` to define the minimum width of the Fleet UI. 
- Remove sort form the "Query name" column in the "Pack" tables on the **Host details** page
- Set static widths all column in the "Pack" tables on the **Host details** page except the "Query name" column to support the new minimum width
- Set static widths for all columns in the "Queries" table except the "Name" and "Author" columns to support the new minimum width
2021-08-18 09:17:16 -04:00
gillespi314
1e11f0f669
FleetUI: Update column sort options (#1680)
* Disable sort remove on react-table

* Update hosts tests
2021-08-16 16:02:00 -05:00
noahtalerman
20792e7356
Add new loading spinner, edit text-icon buttons (spiffier) and rename SiteNavSidePanel (#1684)
- Update icon for "Edit columns" button on **Hosts** page
- Update `text-icon` button variant
- Add new loading spinner
- Rename `SiteNavSidePanel` to `SiteTopNav`
- Use `text-icon` button variant where appropriate
- Disable pagination on the **Schedule** page
2021-08-16 14:47:04 -04:00
RachelElysia
f6091509f4
Fleet UI: Side bar restyled, update UI for Team/Roles to match Figma (#1659)
* Style all settings side panels
* Add builtin label icons
* Update tests aligning jest userStub and adminUserStub
* Update tests adding cypress checks for user teams/roles
2021-08-16 12:25:51 -04:00
RachelElysia
e8aae0dd25
Spiffier UI: Label pills (#1660) 2021-08-13 17:34:04 -04:00
RachelElysia
dc77974ef6
Fleet UI: Reroute homepage (#1640)
* Reroute homepage
* Update e2e tests brittle URLs
2021-08-13 10:41:53 -04:00
RachelElysia
4858f3ace0
Flash Messages: Fix 4 second success render (#1662) 2021-08-13 10:29:04 -04:00
RachelElysia
d88fac6b76
Fix button font size (#1648) 2021-08-11 17:57:37 -04:00
RachelElysia
b2ee3bcb4b
Manage Hosts Page: Empty page state (#1634) 2021-08-11 17:37:36 -04:00
gillespi314
601ffb4fcd
Disable edit label page select platform dropdown (#1635)
* Disable edit label page select platform dropdown

* Update label flow test
2021-08-11 15:27:52 -05:00
RachelElysia
3b4bbf8f8e
Frontend Spiffier: Capitalize MIA (#1623) 2021-08-11 10:08:32 -04:00
RachelElysia
267b7343e1
Manage Packs Page: Refactor to typescript, functional components, new UI (#1567)
* Refactor ManagePacksPage as functional component in TypeScript
* Refactor old table using TableContainer component
* Add Enable, Disable buttons to DataTable component
* Update Packs interface with additional properties
* Update Cypress e2e tests
2021-08-10 14:25:34 -04:00
Zach Wasserman
08c51af248
Improve usage analytics configuration UX (#1585)
- Add sidebar link to correct config section.
- Update example identifier to match actual generated identifiers
2021-08-09 09:51:09 -07:00
RachelElysia
8e6f04d7c5
Spiffier buttons in UI (#1583) 2021-08-09 12:38:13 -04:00
Martavis Parker
672db9e2a7
Host Status Dropdown (#1556)
* #1372 created dropdown for status

* #1372 fixed default state for dropdown

* #1372 added help text and styling

* clean up

* fixed linting

* created changes log

* fixed e2e test

* created new header

* clean up

* added logic to edit and delete label using icons

* reworked selectedFilter to support status & label

* fixed multiple params in url

* comment clean up

* fixed tests

* linting fixes

* fixed height of status dropdown

* bug fix for selecting status 1st, label 2nd

* fixed e2e test

* minor style fix for side panel label scroll

* fixed label e2e test

* removed SQL editor for label selection

* removed edit and delete for platform labels

* fixed bugs loading hosts for every label click

* fixed linting

* fixed basic e2e test

* fixed observer basic e2e test

* modified changes file

* fixed bug with label replacement logic for url
2021-08-06 15:09:49 -07:00
RachelElysia
bf57121c04
Team Schedules - New Feature! (#1550)
* Basic Tier users have access to Team Schedules in the UI
2021-08-05 10:48:00 -04:00
gillespi314
df47fcb808
Refactor manage queries page (#1526)
Refactor ManageQueriesPage as functional component in TypeScript
Refactor old table using TableContainer component
Enhance ActionButton component with optional icons
Update DataTable component to render table header buttons per Figma
Update Query interface with additional properties
Update Cypress e2e tests
Remove unused files
2021-08-03 15:09:01 -05:00
Martavis Parker
53dbb2ad50
#1496 fixed sorting using API (#1536)
* #1496 fixed sorting using API

* #1496 added try catch

* #1496 removed test that no longer serves a purpose

* #1496 fixed linting

* #1496 cleanup

* #1496 added loading indicator back

* #1496 fix lint issues

* #1496 added changes log

* #1496 minor fixes
2021-08-03 12:42:48 -07:00
RachelElysia
c934f3e172
Schedules page: Action cell (Update and delete a global scheduled query) (#1525)
* Create and edit modal component
* Update e2e test for update and delete global scheduled query
2021-08-03 14:06:09 -04:00
RachelElysia
edc132ff18
Manage schedules page: Spiffier styling (#1503) 2021-07-29 15:47:04 -04:00
RachelElysia
6c36a0babc
Flash messages: Can be successive and do not re-render page upon closing (#1482) 2021-07-27 16:19:52 -04:00
noahtalerman
47b7ffa37e
Keep search input field active when loading "Hosts" table (#1477)
- Fixes an issue in which the search input field would become inactive after a search query was entered
2021-07-27 13:31:43 -04:00
gillespi314
c27dd72f33
Launch new feature: Activity feed (#1452)
Add activity feed to homepage
2021-07-26 15:04:35 -05:00
RachelElysia
05691d49ca
Schedule Page - New Feature! (#1333)
- Schedule page functionality: Create (modal), delete (modal), view schedule, advanced options
- Replaces Packs tab with Schedules tab
- Updates e2e tests, mocks, stubs, etc
- Defaults logging type to snapshot for packs
- Adds conversion helpers and tests helper functions
- Adds global_scheduled_queries to redux
2021-07-26 14:41:36 -04:00
gillespi314
fd23d42300
Add secondary select action buttons to DataTable (#1470)
Enhance DataTable and related components to enable multiple buttons for actions on selected rows

- Create new subcomponent ActionButton for DataTable
- Add renderPrimarySelectAction and renderSecondarySelectActions
- Add renderActionButton
- Refactor selectActionButtonText and onSelectActionClick as primarySelectActionButtonText and onPrimarySelectActionButtonText
- Refactor ManageHostsPage to conform to above change
- Refactor TextCell component to enable it to display boolean values in text
2021-07-26 12:07:27 -05:00
noahtalerman
46080dd3eb
Add several frontend, spiffier fixes to the Fleet UI (#1473)
- Fix an issue in which `TableContainer` would render a text element with "0" when there are no matching search results
- Add 3 cases to render correct singular result count
- Sentence case fixes
- Remove "Actions" column title from "Users" table
2021-07-26 13:01:58 -04:00
RachelElysia
0c8537a1f9
Fix flash bug (#1456) 2021-07-23 10:51:46 -04:00
RachelElysia
567f43d4a3
Fix disabled color (#1434) 2021-07-21 08:42:50 -07:00
RachelElysia
2794d1297b
Host Details Page: Refactor packs accordion table (#1409) 2021-07-19 11:02:41 -07:00
RachelElysia
37e267bef9
TableContainer additions: simpleSearch utility and IconCell (#1404)
* Create simpleSearch and IconCell
2021-07-19 08:44:11 -07:00
RachelElysia
fc5ba6d12a
Fix TableContainer empty state bug (#1406) 2021-07-16 13:55:48 -07:00
RachelElysia
a2db3ffbe6
Users management/Team management pages: Actions dropdown styling (#1392) 2021-07-15 10:02:58 -07:00
RachelElysia
ad3ed4210f
Host Details Page: Software Inventory Searchable (#1390)
* Refactored Software inventory table to use TableContainer
* Add search, reordering, IconTooltipCell
2021-07-15 10:01:52 -07:00
RachelElysia
3a51f95595
Dropdown Component: Clean Styling across Browsers (#1365)
* Dropdown styling (Chrome and Firefox)
* Fix incompatible row heights rendering in tables (Firefox)
2021-07-12 14:50:32 -07:00
RachelElysia
29e900d7c3
Homepage Dashboard - New feature! (#1340)
* Adds homepage dashboard to Fleet app
* Host Summary is displayed on the dashboard
2021-07-12 10:15:47 -07:00
gillespi314
2bb2bf2d5d
Add ability in Fleet UI for admin to create new users without email invitations (#1261) 2021-07-12 10:26:11 -05:00
Martavis Parker
ec23d4ee8e
Select all matching hosts (#1226)
* #940 passing matching props to table; typescript

* #940 fixed use of results title

* #940 logic to swap states of selected and not

* #940 optimized rendering selected text

* #940 began styling to match flexbox spacing

* #940 added logic to API

* #940 clean up

* #940 fixed action

* #940 fixed conflict and coment

* #940 hide select matching if under 100 hosts

* #940 fixed issue with status filter
2021-07-10 10:29:27 -07:00
RachelElysia
1196808f31
Update flash messages - Packs flash message, styling, timeout on success message (#1315)
* New flash message styling - success (4 seconds) and error
* Packs flash messages
2021-07-08 13:55:26 -04:00
RachelElysia
0834af5bb7
User Settings Page and User Management Page: SMTP config conditionally disables email update (#1309)
* Disable Email update field when SMTP is disabled
* Render tooltip, not-allowed cursor, greyed font for disabled UI
* Update integration tests accordingly
* Minor fixes to form styling
2021-07-06 12:22:51 -04:00
RachelElysia
ed08190420
Update table row height and button font size (#1299) 2021-07-05 15:26:38 -04:00
RachelElysia
4f09c769b3
Update copied icon spacing and messaging (#1301) 2021-07-05 14:58:15 -04:00
noahtalerman
b9dfbf0a7c
Prepare for 4.0.0 (#1258)
- Update CHANGELOG
- Edit Fleet version for Helm and NPM
- Add permalinks to Fleet product (links have been double checked)
2021-06-29 14:35:21 -04:00
Martavis Parker
bc4ae0fd1d
UI tweaks 4.0.0 (#1257)
* #1246 removed outline for focused tab

* #1247 adjusted styles for actions dropdown

* #1249 addressed styles for transfer modal dropdown
2021-06-29 11:10:47 -07:00
RachelElysia
c8c5e0db56
User Settings Page: Add validation for email and full name (#1241) 2021-06-28 16:47:00 -07:00
Zach Wasserman
d6d584094f
Host Details Page: Render vulnerable software warnings (#1220)
* Conditionally renders vulnerability div and issue tooltip
* Refactors IconToolTip to include an Error icon
* Add vulnerabilities to type interface, small cleanup

Co-authored-by: Rachel Elysia Perkins <rachel@fleetdm.com>
2021-06-28 11:09:45 -07:00
Zach Wasserman
5e26af701b Merge branch 'main' into teams 2021-06-25 18:48:20 -07:00
noahtalerman
7338e7bfef
Add sentence casing to full name. Remove letter spacing from password fields (#1207) 2021-06-25 17:46:11 -04:00
noahtalerman
6290bb24e6
Update notification message for inviting users and update notification styles (#1204)
- Add "An invitation email was sent from `sender_address` to `email`." to notification after a new user is successfully invited in the Fleet UI.
- Update notification styles
2021-06-25 11:55:47 -04:00
noahtalerman
bf4eb899c6
Add usage statistics documentation to Using-Fleet section (#1196)
- Add new `usage-statistics.md` file
- Update link in the Fleet UI to point towards new docs
2021-06-24 16:59:25 -04:00
RachelElysia
aeb852e168
Remove username from UI (#1168)
* Remove username from UI code
* Remove username from tests
* Remove username from database
* Modify server endpoints for removing username
* Implement backend aspects of removing username
* Update API docs
* Add name to fleetctl
2021-06-24 13:42:29 -07:00
Martavis Parker
7af97579fe
Frontend of usage statistics (#1177)
* #454 added usage stats disclaimer to setup confirmation

* #454 added new section to settings for usage stats

* #454 fixed vulnerability for hrefs

* removed jsx file

* #454 added logic to checkbox

* #454 created modal to preview usage stats; cleanup

* fixed tests and linting
2021-06-23 15:19:01 -07:00
Martavis Parker
42272f358f
#1108 send users to manage queries if error (#1154)
* #1108 send users to manage queries if error

* #1108 fixed tests and lint

* #1108 fixed more tests

* #1108 new clause to show different error message

* #1108 fixed logic
2021-06-22 16:44:40 -07:00
gillespi314
97efed7f9a
Handle empty states for name and author fields (#1155) 2021-06-22 14:14:18 -05:00
noahtalerman
e02b88d010
Update links to documentation so that they use main branch (#1151)
* Update to main branch

* Update link to releasing Fleet
2021-06-21 16:40:15 -05:00
noahtalerman
17a6c21224
Restructure documentation in preparation for docs living on fleetdm.com (#1143)
* Remove Orbit top level folder and rename folders to Deploying and Contributing

* Update link in doc README
2021-06-18 15:58:21 -05:00
Martavis Parker
3af64748ab
Pressing Enter on setup's Confirmation page (#1141)
* #917 fixed enter key for last page; TS overhaul

* #917 clean up

* Update frontend/components/forms/FormField/FormField.tsx

Co-authored-by: Zach Wasserman <zach@fleetdm.com>

* #917 fixed tests and linted

Co-authored-by: Zach Wasserman <zach@fleetdm.com>
2021-06-18 13:33:45 -07:00
RachelElysia
8ee66f3309
Input field and form field error state (#1132)
Fix other small consistencies: password spacing, dropdown error, error messages, pack form order
2021-06-18 14:56:11 -04:00
RachelElysia
3ed6573ff3
Update flash message styling (#1140) 2021-06-18 14:54:50 -04:00
Zach Wasserman
19e8da177f
Allow Packs to be targeted to Teams (#1130)
- Add additional target type for packs.
- Refactor pack target datastore.
- Fixes for frontend target selector tier logic on packs page.
2021-06-18 09:43:16 -07:00
RachelElysia
7859784d97
AuthenticatedRoutes conditionally reroutes api_only user (#1123)
* Renders CTA Back to login page if user.api_only
* Edge cases: Redirects to log in for !user and redirect to home for !user.api_only
2021-06-18 10:08:50 -04:00
Martavis Parker
5b2cac31d9
Agent options added to organization settings (#1120)
* #511 refactored update options - new params & ts

* updated server to include agent_options for read and update

* added agent options form to org settings

* #511 finished connecting agent form to server

* #511 fixing api to save/read agent options

* #511 linted

* #511 fixed reading & updating agent options

* #511 api fixes to support agent options

* #511 removed log

* Fix json.RawMessage pointers in tests

Co-authored-by: Zach Wasserman <zach@fleetdm.com>
2021-06-17 13:47:15 -07:00
RachelElysia
1d3b624be2
E2e Testing: Fleet Core global observer (#1099) 2021-06-16 13:40:23 -04:00
Martavis Parker
4bfeddda79
Escape key closes modals (#1088)
* Closes #922

* #922 added Windows section to build docs

* go sum updated

* updated go sum

* fixed #963 - calling teams api if not on core

* added command for seeding queries

* added command default to higher level

* linted test

* only need 2 queries

* fixed e2e command for seeding queries

* fixes #952 - added esc key binding to modals

* #952 lint fix
2021-06-15 09:56:23 -07:00
noahtalerman
0f244140cc
Edit message for set up, forgot password, and change password (#1083)
- Add the `hint` that is used on the _Set up_ page to the _Change password_ form and _Reset password_ form
- Add a consistent error message when a password fails to meet the criteria. Using the phrase "criteria below" because all pages render the above `hint`
2021-06-15 09:51:04 -04:00
noahtalerman
9b1cd14839
Fix set up flow styles (#1073)
- The RegistrationForm component now uses 'fleet' for class names. Update classnames in this component's stylesheet to use 'fleet'
2021-06-14 15:45:43 -04:00
Zach Wasserman
0a22b9195e
Rename components and errors in setup flow (#1059) 2021-06-10 17:01:18 -07:00
noahtalerman
7104d0312e
Fix for cannot run query for selected teams (#1037)
- Fix ability to run live query against teams
- Update unit tests to support live queries against teams
2021-06-10 11:37:25 -04:00
RachelElysia
78fb7e22cc
Query Edit/Run Page: Conditionally render Teams grouping in select targets dropdown (#1040)
* Conditionally render teams in targets dropdown
* Modify tests accordingly
2021-06-10 11:35:42 -04:00
RachelElysia
5e40afa8ba
Clean up linter warnings (#1026)
* Fix 25+ linter warnings
Co-authored by: Sarah Gillespie @gillespi314
2021-06-10 10:00:03 -04:00
noahtalerman
fce7d3bef5
Fix ability to run a live query when coming from host details page (#1035)
- Add `queryId` to `fetchTargets()` function call
2021-06-09 18:54:59 -04:00
RachelElysia
2b9aa5ac7e
Flash message x icon visible (#992)
Closes #991
2021-06-07 15:48:52 -04:00
RachelElysia
225500ad28
Empty query message (#989)
* Add link to standard query library
* Style and external link icon
2021-06-07 14:44:02 -04:00
Zach Wasserman
255395135f
Rename custom ACE editor (#983) 2021-06-06 19:32:18 -07:00
Zach Wasserman
d82560f7d6
Rename frontend icon component (#982) 2021-06-06 18:56:30 -07:00
Zach Wasserman
229a9afed2
Change name of localstorage auth token (#980) 2021-06-06 18:28:37 -07:00
Zach Wasserman
7ff72f7ac1
Rename main frontend directory (#977) 2021-06-06 17:30:54 -07:00
Zach Wasserman
db459d3363
Continue to update names in backend code and docs (#976) 2021-06-06 16:58:23 -07:00
RachelElysia
e52e0747ad
Query Edit/Run: Conditional select targets dropdown (#923)
* Modify targets endpoint to  use queryId
* Conditionally render query page including queryId
* Includes conditionally renders target dropdown

Co-authored by: Sarah Gillespie @gillespi314
Test mods co-authored by: Gabriel Hernandez @ghernandez345
2021-06-04 15:13:59 -04:00
RachelElysia
e4c866cf7c
Teams grouping in Select Targets Dropdown (#873)
* Renders targets by team
* Conditional rendering for no hosts available
* Update styling to match figma
2021-06-04 12:37:56 -04:00
RachelElysia
af301be81c
403 Page, routing for tier permissions (#920)
* 403 page, svg, routing
* Reroute basic tier pages if no permission to access
2021-06-04 12:34:27 -04:00
Gabriel Hernandez
f127f8c2cd
add new permission routes and messaging (#915)
* add new permission routes and messaging

* add messaing for no permissions

* query-library-os-icons (#913)

Added query library os icons to website assets.

* fix broken check for config before api responds

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2021-06-04 14:00:14 +01:00
RachelElysia
1b131bd9db
Packs page: action icons (#935)
* Render packs page new icons: Enable, disable, delete, search
2021-06-03 16:50:13 -04:00
noahtalerman
bf37cb975e
Fix checkbox styles on master branch (#942)
- Update `Checkbox.jsx` and checkbox styles to align with changes on the `teams` branch 
- Edit checkbox styles in the `InviteUserForm` component
2021-06-03 13:46:35 -04:00
RachelElysia
875d6bb6ac
Fix firefox icons (#931)
* Firefox compatible icons: plus, carat, x

Note: css property `content: url(imagefile);` only compatible with pseudo elements
2021-06-03 09:20:06 -04:00
noahtalerman
567950d5f0
Fix frontend bug in which target picker rendered incorrectly on master branch (#934)
- Before the fix the "X" button to remove the target was floating in an odd place
- Edit to replicate new styles found in the teams branch
2021-06-02 18:04:52 -04:00
RachelElysia
0f09c2e837
Render host status icons (#930) 2021-06-02 15:53:20 -04:00
RachelElysia
9469cb0bf1
Packs pages: Edit page empty state rendering, Manage page update UI (#885)
* Packs: Update empty state, tables, select targets pills, platform pills, icons, phrasing
2021-06-01 09:10:35 -04:00
Zach Wasserman
a5bd03e5d7 Merge branch 'master' into teams 2021-05-31 10:56:50 -07:00
Zach Wasserman
64f2cfc9cd
Refactor enroll secrets to support Teams (#903)
- Add `team_id` field to secrets.
- Remove secret `name` and `active` fields (migration deletes inactive secrets).
- Assign hosts to Team based on secret provided.
- Add API for retrieving secrets by Team.
2021-05-31 09:02:05 -07:00
RachelElysia
19dd6e772b
Teams query manage page: Styling (#881)
* Style query manage page including side panel and table
* Conditional side panel rendering

Additional riders:
* Less brittle team e2e test
* Update all search icons across app
2021-05-27 19:39:35 -04:00
RachelElysia
c42f150fac
Query Edit/Run Page: Observer view (#820)
* Query Edit/Run page renders based on user role
* Original UI for global admin/ global maintainer
* New UI for global observer / team maintainer / team observer
* New create new query UI for team maintainer
* Styling matches Figma
* Tests modified accordingly

Styling Closes #859

Co-authored by: Sarah Gillespie @gillespi314
Tests co-authored by: @ghernandez345
2021-05-27 12:06:24 -04:00
Gabe Hernandez
c018823abf
conditionally show add label button (#854) 2021-05-26 13:10:04 +01:00
gillespi314
09cd3622da
Fixes to new pack page (#857)
- Fix "Query pack title" and "Description" input fields so they fill the full width of their container
-  Replace "New Pack" with "New pack" in the page header (sentence casing)
-  Input titles should have the font weight set to $bold
-  Remove the folder icon from the title
-  Remove bold sections from paragraphs including the "(interval = 3600s)," "targets," "individual hosts," and "labels."
-  Change bullet and link colors to $fleet-core-vibrant-blue
-  Replace differential and snapshot kolidecons with png images included in the Figma page.
2021-05-25 17:03:03 -04:00
RachelElysia
a6e921c7b8
Query Manage Page: Role based views (#843)
* Removes create new query button from only observers
* Renders CTA ManageQueriesPage side panel
* Renders Observer can run column for non observers
* Fixes integration tests: ManageQueriesPage and SidePanel

UI co-authored by: @gillespi314
Integration tests co-authored by: @ghernandez345
2021-05-25 16:03:32 -04:00
RachelElysia
0395020b6f
Fix jumping bug dropdown onClick (#856) 2021-05-25 12:03:16 -04:00
RachelElysia
daa244ee00
Nav bar: Tabs render by role (#845)
* Nav tabs render based on permissionUtils global role

Co-authored by: @gillespi314
2021-05-25 11:10:13 -04:00
RachelElysia
c0f67c5822
Packs Page UI: form pill contrast (#837)
* Pill border and colors
* Styling font, margin, padding (sans new icon)
* New close icon
2021-05-24 13:47:05 -04:00
RachelElysia
3d83fcaa35
Style checkbox (#836)
* Style checkbox
* Label style uses -radius variable.

Co-authored-by: Noah Talerman <noahtal@umich.edu>
2021-05-24 13:46:13 -04:00
Gabe Hernandez
7926734266
test and team feature improvements (#804)
* add messaging in autocomplete dropdown to show reason why user cannot be selected

* user permission utils

* doc autocomplete dropdown and move it closer to wehre its used

* test for select teams form

* test for data table and transfer host endpoint
gss

* moving host actions and entities to ts

* change host transfer to new endpoint:

* added more tests to data table

* change some comments

* change import path

* fix build TS errors

* change data table test string
2021-05-21 17:29:28 +01:00
Zach Wasserman
22feb87de4
Fix capitalization on "Select pack targets" (#819) 2021-05-20 09:29:37 -07:00
RachelElysia
3286a9c4bc
Query Results: Render errors table on fullscreen (#807)
* Render errors table on fullscreen
2021-05-20 11:43:12 -04:00
Noah Talerman
72882e8f9f Merge branch 'master' into teams 2021-05-19 13:16:54 -04:00
noahtalerman
27cfe19ac2
Disable "Refetch" button for offline hosts (#799)
- Disable "Refetch" button if the host is offline
- Disable the refetch tooltip if the host is in the `refetch_requested` state.
2021-05-18 18:02:39 -04:00
noahtalerman
f2755ec93e
Add icon button styles and edit TableContainer to support styles (#713)
- Add `text-link-icon` button variant
- Add `actionButtonVariant` and `actionButtonIcon` props to `<TableContainer />`.
- Add 3 new icon assets (pencil, trash, and edit columns)
2021-05-18 12:30:57 -04:00
RachelElysia
117130701a
Fix url-prefix links (#769)
* Fix various url-prefix links

Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>
2021-05-17 17:04:21 -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
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
58445ede82
Replace icons (#747)
* Replaces dropdown icon, close icon, carat icon, collapse icon, add icon

Co-authored-by: Sarah Gillespie <sarahgillespi314@gmail.com>
2021-05-10 16:00:34 -04:00
noahtalerman
9fb9da31f5
Bring Orbit docs into Fleet docs and add FAQ section (#717)
- Add new `2-Orbit-osquery/` directory to the top-level `docs/` directory.
- Rename `2-Deployment/` -> `3-Deployment/` to accommodate new Orbit directory.
- Rename `3-Contribution/` ->  `4-Contribution/` to accommodate new Orbit directory.
- Add FAQ section to Orbit documentation.
2021-05-04 15:50:18 -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
RachelElysia
0376555683
E2e test: invite/activate user (#699)
* Tests user invite, email link, and user activation
* Disables cypress fixtures folder

Reviews and suggestions by: Zach Wasserman <zach@fleetdm.com>
2021-04-30 11:47:33 -04: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
7490878029
E2e test: add/edit/delete team (#694) 2021-04-28 18:14:26 -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
8c969316dc
Fix linting issues from Query page edits (#667)
* Export Results button iff results && no errors
* Export Errors button functional
* Fullscreen always option
* Fix linting issue
2021-04-20 13:57:17 -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
RachelElysia
f37d872dd4
Fix react key issue (#648)
* Fix key issue
* Fix non-unique hostname selection bug
2021-04-19 18:14:43 -04:00
RachelElysia
05aa92b5b3
Revise query help tooltip (#618)
* Refactor query help to use IconTooltip
* Modify styling to match Figma
2021-04-15 16:52:56 -04: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
RachelElysia
46d957a367
Fix hotkeys in Ace Editor (#617)
- Corrects Cmd + L (selects URL bar)
- Corrects Cmd + F (opens find command)

Closes #304
2021-04-09 08:50:47 -07:00
RachelElysia
b7f81a8c39
E2E tests for query flow, label flow, packs flow (#611)
Label flow
  - Create a new label and make sure it shows up on the hosts page
  - Edit the label name
  - Delete the label

Query flow
  - Create a new saved query
  - Edit the query
  - Delete the query

Pack flow
  - Create a pack
  - Edit the pack name
  - Schedule a query
  - Remove a query from the pack
  - Delete the pack

Closes #597
2021-04-09 08:47:16 -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
3a4f13d1e4
Correct description field on packs page (#593) 2021-04-06 18:29:12 -04:00
noahtalerman
90e82a62b3
Fix frontend bug on "Edit pack" page (#604)
Changes part of Fleet 3.10.0 prevented the frontend from handling any values other than `darwin`, `linux`, `all`, and `windows`. Users that manage packs via fleectl and the Fleet UI may encounter this bug when using 3.10.0.

- Adds a case for the frontend to handle `freebsd`, `posix`, `any`, and any other string specified in the `platform` key in pack configuration.
2021-04-06 14:41:07 -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
5d8cd56de3
Add platform text to Queries list on "Pack" page (#561)
- Add platform text to the Queries list. This text better reflects the options in the "Platform" dropdown when scheduling a query.
- Remove platform icons.
2021-03-30 17:21:05 -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
Zach Wasserman
2203bd81a2
Add support for IdP-initiated SSO login (#556)
This feature is off by default due to minor potential security concerns
with IdP-initiated SSO (see
https://auth0.com/docs/protocols/saml-protocol/saml-configuration-options/identity-provider-initiated-single-sign-on#risks-of-using-an-identity-provider-initiated-sso-flow).

Closes #478
2021-03-30 12:56:20 -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
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
Zach Wasserman
39fc25cf5c
Refactor cypress tests and expand testing (#450)
- Add cypress commands `setup` and `login`.
- Test setup page.
- Test add new host dialog (MVP establishing testing patterns).
- Add `testing-library/cypress`.
- Add `cypress` directory to lint config.
2021-03-12 11:49:28 -08: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
8591e2a3e7
tooltip for org settings form input descriptions (#434)
* added tooltip to input description on org settings form

* pull out IconToolTip into its own component
2021-03-10 17:37:49 +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
Zach Wasserman
6e96df9055
Update osquery version options (#426)
4.6.0 is already released and 4.7.0 is coming very shortly.
2021-03-09 09:57:31 -08: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
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
noahtalerman
54c2b0b8df
Edit live query results table width for UI layout (#416)
- Fixes #413. Reintroduce a max-width for the.has-sidebar selector. This prevents the query results table from horizontally overflowing the screen's width.
- Adjust the positioning of the expanded live query results table to fit the new layout
2021-03-09 07:33:39 -08:00
noahtalerman
54ecabab35
Fix live query UI expanded view (#394)
- The expanded view for live query UI now fills the screen's height. Vertical scroll is allowed on the table if the results table's height larger than the screen's height.
Fixes #392
2021-03-08 11:45:17 -08: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
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
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
noahtalerman
b53d14a37a
Fix render issue in errors table where the number 0 would be rendered below results table (#354)
This is a visual bug fix.
- Fixes a rendering issue in the Errors table in which the number "0" is rendered below the results table. This rendering issue occurs when the query is completed and no errors are returned.
2021-02-25 11:42:40 -08:00
noahtalerman
9ec9018288
Errors table doesn't render if there are no error (#353)
The errors table in the live query UI doesn't render if there are no errors.
- Fixes #330
2021-02-25 09:14: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
noahtalerman
8d5c1c37d3
Add number of hosts responding in live query UI. (#333)
These changes fixe #303 by adding the number of hosts successfully responding to the live query UI. This information was previously removed in Fleet 3.7.1
2021-02-18 12:59:27 -08: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
noahtalerman
ee72532942
Display status indicator when live query results are empty (#257)
These changes resolve the case during which a host goes offline after a live query begins. Now, the status indicator is displayed during, and after, a query is running and the live query results are empty.

Additional changes:
- Add no results messaging for the case when there are no results and no errors (rendered when live query is completed)
2021-02-02 12:11:03 -08:00
Gabe Hernandez
310b8522dd
Improve UI contrast for select values in multi input (#261) 2021-02-02 17:10:10 +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
Zach Wasserman
3fc6412e67
Add comments in generated flagfile (#219)
Adds clarity to the different features being configured
2021-01-25 12:20:48 -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
0c921fe032
Fix missing image assets in SelectTargetsDropdown. (#172)
- Add back <KolideIcon /> to SelectTargetsDropdown. <KolideIcon /> was prematurely replaced.
- Edit styles to allow SelectTargetsDropdown to vertically scroll on overflow.
Fixes #168
2021-01-04 17:22:02 -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