* 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
* 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>
* 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>
- 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
* #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
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
- 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
* #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
* 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
* 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>
* 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>
* 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