* 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
* 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
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.
- 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.
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
* 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>
* 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
* 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
- 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.
* 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
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
* 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
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)
- 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"
- Add back <KolideIcon /> to SelectTargetsDropdown. <KolideIcon /> was prematurely replaced.
- Edit styles to allow SelectTargetsDropdown to vertically scroll on overflow.
Fixes#168
- Add help text within dropdown in smaller font size underneath "Require password reset" saying "This will revoke all active Fleet API tokens for this user."
- Update API docs to use "API token" parlance instead of "Auth token"
The final PR for the UI Refresh #38.
- Complete UI issues caught during the Dec. 09 QA pass.
- Update button and color styles, including hover and active states, to align with the mockups.
- Update status labels in the hosts list and users list. The status label now includes a colored circle along with a text description.
- Fixes#138.
Fixes#65 by bringing in new regular and bold Source Code Pro monospaced fonts.
- Remove old Source Code Pro font files
- Add new platform icons to <QuerySidePanel />
- Edit styles in <EditPackForm />
- Add new PNG files for the new icons in the left side navigation and the right side labels on the Hosts page.
- Rename the old `<Icon />` component to `<KolideIcon />` and create a new `<Icon />` component. The ultimate goal is to get rid of the `<KolideIcon />` and `<PlatformIcon />` components and use the encompassing `<Icon />` component for all icons. The full transition will be made when we have icon assets to replace all the kolide icons and platform icons. Currently, we don't.
- Rename the `icon_name_for_label.js` utility to `icon_name.js` because the utility now includes `iconNameForLabel()` and `iconNameForPlatform()` functions.
- Fixes issue #127.
- Kolide404 and Kolide500 components renamed to Fleet404 and Fleet500
- Styling for Login and Confirm invite pages are consistent with the recent changes to the Setup page.
- Add "*" character to the 404 <Route />'s path property. Now the 404 page renders when there is no exact path match.
The goal of this PR is to implement the new global styling (colors, buttons, and fonts) to the "App settings" and "Osquery options" pages. These pages are only visible to users granted an admin role.
The goal of this PR is to update the style across the query and packs pages so they are consistent with the latest global styles (colors, buttons, and fonts).
The goal of this PR is to change the layout of the manage users to a table (list view).
Move the user actions into the table view.
Move EditUserForm into a Modal
Update styles for InviteUserForm
Edit copy for the configuring SMTP warning.
The goal of this PR is to update the styles of the LabelForm component.
Also include global style changes for form components (FormField, LabelForm, and others).
- Move from Mocha to Jest for JS testing (Jest seems to have better support for
'watching' tests and a more active community these days).
- Codemod existing tests to Jest syntax (using https://github.com/skovhus/jest-codemods)
- Fix some errors in tests that were previously hidden.
- Update Babel.
The goal of these changes is to update the main content (center column) of the /hosts page.
What is included in these changes:
- Removing the grid view for hosts. This required removing the actions, reducers, and props using to toggle the display between grid and table view. The toggle buttons in the UI are also removed.
- Adding host_cpu, memory, and uptime columns to the table. This increases the table's width which is now horizontally scrollable.
- Removing the HostDetails component used in the grid view. Moving the helpers.js file to HostTable. Adjusting JS tests to account for these changes.
- Updating pagination styles.
The goal of this PR was to insert new colors, remove legacy colors, and update only the styles accordingly. The Nunito Sans Italic font was also added.
Later PRs will include layout, copy, and style change to individual components. These later changes will more exactly resemble the current mockups.
- Output easy to parse stack traces during run of tests
- Fix some spurious warnings and errors in tests
- Add --exit flag to Mocha invocation to fix hang due to timers in ACE editor
This is the first PR as a part of the Fleet UI Refresh #38.
Changes include:
- Add Nunito Sans font files and modify global styles to reflect the font change.
- Modify global font variables to reflect new sizing and weight naming conventions.
-- New sizing and naming conventions:
--- SIZE: xx-small: 12px, x-small: 14px, small: 16px, medium: 20px, large: 24px, x-large: 28px
--- WEIGHT: regular: 400, bold: 700
- Remove the old Oxygen font files.
Changes to other style sheets reflect the changes to the new font sizing and weight naming conventions for global variables. The changes don't necessarily use the correct size (as illustrated by mockups). Those "up to spec" sizing changes are to come.
Created 3 new components: <OsqueryOptionsPage /> , <OsqueryOptionsForm />, and <YamlAce />
The <OsqueryOptionsPage /> component is rendered at the new route /admin/osquery. The user navigates to this route by selecting the "Osquery Options" sub-navigation in the admin dropdown menu.
On the Osquery Options page, the user is presented with a ACE editor filled with the current osquery options. The current osquery options are retrieved from the serve when the page component mounts. These current osquery options are stored in the osquery slice of state.
Clicking "UPDATE OPTIONS" will trigger a form submit and hit the v1/kolide/spec/osquery_options endpoint if the yaml is valid. If the yaml is not valid, an error message is presented to the user with details on what the error is and where it occurred. If the yaml is valid, the osquery options will be updated even if the options haven't change.
- Using componentDidUpdate() to check for currentPage change in setup registration form. Initially tried adding `autofocus` prop to the first `<InputFieldWithIcon />` on each page. As seen in AdminDetails page. Didn't work. I believe React only pays attention to `autofocus` when the <input> is re-rendered.
- Calling focus() on page's first input when currentPage changes and is true. Using refs callback
- Delaying focus by 300ms using setTimeout because the `.user-registration__field-wrapper` has a transition duration of 300ms. Setting the inputs focus immediately creates a snapping movement and ruins the smooth transition.
Fixes#936
- Debounce frontend to reduce number of target searches in live query.
- More efficiently calculate label counts in live query and hosts
dashboard. Instead of using the (slow) CountHostsInTargets function,
retrieve the host counts while looking up the labels.
- Optimize targets search query. Removing the nested query retrieves the
same logical result set, but substantially optimizes MySQL CPU usage.
Testing indicates about a 50% reduction in MySQL CPU usage for the
frontend targets search API call after applying this change.
"Manual" labels can be specified by hostname, allowing users to specify
the membership of a label without having to use a dynamic query. See the
included documentation.
Fleet used significant resources storing the full network interface
information for each host. This data was unused, except to get the
IP and MAC of the primary interface. With these changes, only those
pieces of data are stored.
- Calculate and store primary IP and MAC
- Remove transaction for storing full interfaces
- Update targets search to use new IP and MAC columns
- Update frontend to use new new columns