a6c8987200
* 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> |
||
---|---|---|
.. | ||
middlewares | ||
nodes | ||
utilities | ||
README.md | ||
reducers.js | ||
store.js |
Fleet Redux Implementation
Fleet uses Redux
for application state management.
React components themselves can manage state, but Redux makes it easy to share
state throughout the app by being the single source of truth (such as keeping track of the entities returned by the API).
To learn more about Redux visit http://redux.js.org.
Redux State Structure
Overview
The shape of the application's Redux state is as follows:
{
app: {
...
},
auth: {
...
},
components: {
...
},
entities: {
...
},
loadingBar: {
...
},
notifications: {
...
},
persistentFlash: {
...
},
redirectLocation: {
...
},
routing: {
...
},
}
App State
App state contains information about the general app setup and information. It
contains a config
object with data on the user's organization and Fleet
setup. Additionally, the app state in Redux controls rendering the side
navigation as a mobile view, and displaying the Kolide jagged background image
located on specific pages such as the login page.
Auth State
Auth state contains data on the current user.
Component State
Component state contains data specific to React components.
Entities State
The entities state holds data on specific entities such as users, queries, packs, etc. They follow a similar configuration that can be found here.
Notifications State
The notifications state contains data that informs the rendering of flash messages.
Redirect Location State
The redirect location state contains information about where to redirect a user after login, specifically when they attempt to access an authenticated route when logged out and then log in.