Commit graph

51 commits

Author SHA1 Message Date
RachelElysia
93e684d524
Frontend: Cleanup implied types, unused imports and variables (#7439) 2022-09-01 11:28:02 -04:00
RachelElysia
0fff51ed96
Fleet UI: Fix updating filters resetting to page 1 (#7348)
Co-authored-by: Sarah Gillespie <sarahgillespi314@gmail.com>
2022-08-25 14:18:13 -07:00
RachelElysia
9c7d2cfa60
Fleet UI: Set default pagination length to 20 (#7165) 2022-08-15 13:00:06 -04:00
RachelElysia
b058365c4e
UI: Spiffier tooltip (#6642) 2022-07-15 15:10:35 -04:00
gillespi314
7621a0b290
Show count of visible results after a column is filtered on live query page (#6199) 2022-06-13 18:20:57 -05:00
Martavis Parker
384c987389
Removed all traces of Redux from the app! (#5287)
* clean up routes and useless components

* component clean up

* removed redux from routes

* rename file

* moved useDeepEffect hook with others

* removed redux, fleet, app_constants dirs; added types to utilities

* style cleanup

* typo fix

* removed unused ts-ignore comments

* removed redux packages!!!

* formatting

* fixed typing for simple search function

* updated frontend readme
2022-04-22 09:45:35 -07:00
gillespi314
1a2123a358
Improve UI responsiveness for tables at narrower screen sizes (#4926) 2022-04-07 14:12:38 -05:00
gillespi314
ff00e26f14
Refine manage software page features (#4040) 2022-02-07 18:52:55 -06:00
gillespi314
d101ec7c18
Add ability to filter software by "Vulnerable" on the Host details page (#3875)
- Add new "Software" tab to host details page
- Add dropdown to filter vulnerable software
- Extend DataTable client-side filtering to accommodate filter inputs that are controlled by parent components
- Refactor host details software into separate component
2022-01-31 16:41:54 -06:00
gillespi314
4d5e3277ef
Add new feature: Software page (#3923)
* Add new software page
* Add hosts counts and last updated to software card on homepage
* Extend InfoCard component to all children to set dynamic title information and hyperlinks
* Add new TeamsDropdownHeader component
* Refactor TableContainer to move server-side pagination buttons to DataTable
* Extend DataTable to include footer element
2022-01-31 16:24:20 -06:00
gillespi314
fc44970f49
Fix bug in row select checkbox for table UI (#3798) 2022-01-19 18:22:45 -06:00
RachelElysia
a85e47b28b
Spiffier UI: Dashboard and Manage Host Page loading states (#3638) 2022-01-13 12:12:54 -05:00
gillespi314
fec450ab5a
Fix pagination for homepage software UI (#3501) 2021-12-29 16:22:18 -06:00
Luke Heath
8f606ffccd
Refactor manage hosts search (#3475) 2021-12-29 12:10:54 -06:00
Luke Heath
e75c5dbdaf
Clear selected hosts on transfer (#3430) 2021-12-22 11:07:12 -06:00
RachelElysia
9e905f8e10
Query Empty Search: Fix count and empty state (#3314)
* Display count is now correct, bug with 0 being falsy
* Empty component renders for client side search even if data table 'disappears'
* Hide display count if display count is 0 includes for client side search
* Hide search and dropdown if no queries have been created
2021-12-09 14:43:34 -08:00
Martavis Parker
5ac01dff4e
Re-enabled software card for home page (#2780)
* re-enabled software

* added changes files

* lint fix

* fixed url format

* fixed 500 bug, order key

* fixed table data

* fixed data gathering and linking to hosts

* fixed grid columns
2021-11-15 15:42:51 -08:00
Luke Heath
d9556b3f7f
Perform client side filtering with react table (#2834) 2021-11-09 11:31:28 -06:00
RachelElysia
7a22e71c69
Host Details Page: Hover rows for policies table and software table (#2808) 2021-11-05 09:29:03 -07:00
Martavis Parker
f1ed172ac5
Client side search for tables no longer debounce (#2807)
Relates to #2793.

Removed debounce from client-side search for tables because it conflicted with react-table's search mechanism.
2021-11-04 21:16:42 -07:00
RachelElysia
57150fde6c
Host Details Page: Paginate user and software tables (#2464) 2021-10-18 15:14:24 -04:00
RachelElysia
67645f327b
Manage Host Page: Add tooltip to search (#2475) 2021-10-14 11:11:53 -04:00
Luke Heath
6cda48220d
Fix hosts table search and pagination (#2494) 2021-10-13 13:36:17 -05:00
RachelElysia
2000b1b263
Manage Host Page: Custom host count based on filters, labels, etc (#2377)
* Host count includes label id parameter
* Remove page and pageSize from hostCountAPI call
* Only retrieve hostCount on filter change
2021-10-11 13:27:14 -04:00
RachelElysia
ea3f0f127f
Manage Host Page: Spiffier icons for filter status/policy button/dropdowns (#2379) 2021-10-06 10:54:15 -04:00
RachelElysia
a2fe3bae7e
Edit Packs Page: Refactor and revamp (#1400)
* New query pack table renders
* services/entities created/updated with 5+ needed APIs requests for EditPacksPage
* Refactor jsx to tsx PackQueriesListWrapper, EditPackForm, EditPackPage
* Refactor to new patterns on useQuery, useEffect, and useState
* Refactor to new pattern formData formatting
* Edit, remove pack query modals
* e2e test: packflow built to test create, update, delete of pack, fix brittle teamflow
2021-10-04 16:26:10 -04:00
Martavis Parker
b6659cfaaa
Refactored Manage Hosts (#2233)
* Add new feature: team policies

* Continue work on team policies

* Continue work on team policies

* Continue team policies

* Revert accidental deletion

* Rename variables

* code refactored; working on runtime errors

* updated front end docs

* Update URLs from team to teams, add tests for policy auth

* Fix test

* Continue work on team policies

* Add permission checks

* mange hosts functional and cleaned up; typing

* improved label logic

* added try catch to awaits

* lint fixes

* frontend unit tests don't work for functional components

* test fix

* revert

* Address errors related to refetch on window focus

* Add loading error check

* Fix typos in loading error checks

* Guard against invariant condition in useEffect

* Update links and routes for team policies

* lint fixes

* Update frontend/pages/hosts/ManageHostsPage/helpers.ts

Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>

* Change inherited policies button, tooltip

* lint fixes

Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>
Co-authored-by: Tomas Touceda <chiiph@gmail.com>
2021-09-30 12:32:06 -07:00
gillespi314
746d02ebe0
Allow team maintainer to edit, save, or delete queries if they are the author (#2236) 2021-09-29 15:01:30 -05:00
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
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
66597ced71
App wide UI: Error and empty states for tables (#1875) 2021-09-02 08:16:19 -04:00
gillespi314
452392f5d2
Add new feature: Policies (#1772) 2021-08-30 18:02:53 -05: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
b2ee3bcb4b
Manage Hosts Page: Empty page state (#1634) 2021-08-11 17:37:36 -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
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
edc132ff18
Manage schedules page: Spiffier styling (#1503) 2021-07-29 15:47:04 -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
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
2794d1297b
Host Details Page: Refactor packs accordion table (#1409) 2021-07-19 11:02:41 -07:00
RachelElysia
fc5ba6d12a
Fix TableContainer empty state bug (#1406) 2021-07-16 13:55:48 -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
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
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
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
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
Gabriel Hernandez
04712c0426 Merge master into teams 2021-04-14 17:52:15 +01: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