Commit Graph

363 Commits

Author SHA1 Message Date
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
f37d872dd4
Fix react key issue (#648)
* Fix key issue
* Fix non-unique hostname selection bug
2021-04-19 18:14:43 -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
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
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
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
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
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
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
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
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
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
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
19816cee1a
Add help text within user actions dropdown menu. Update copy in API documentation. (#142)
- 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"
2020-12-21 15:47:35 -08:00
noahtalerman
573097c2a3
Close UI Refresh. Update button styles. Edit status labels for hosts list and users list. (#139)
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.
2020-12-18 17:36:39 -08:00
noahtalerman
510c7c0f45
Fix query editor rendering strangely in Safari. Edit query side panel styles. (#140)
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 />
2020-12-18 09:04:43 -08:00
noahtalerman
49e71e4ed6
Add new icons for Hosts page. Fix hosts list width on wide screens. (#128)
- 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.
2020-12-14 18:24:16 -08:00
noahtalerman
e3edcc0ed7
Make password reset styles consistent with new global styles. (#120)
The changes include adding sentence casing and updating the styles of the and components.
2020-12-10 14:34:17 -08:00
noahtalerman
1b23b7b74f
Add style fixes caught during QA. Add favicon. (#119)
Changes include style fixes that were caught during a QA pass.
2020-12-10 13:09:05 -08:00
noahtalerman
98799fdff8
New styles for 404, 500, Login, User settings, and Confirm invite pages. (#108)
- 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.
2020-12-08 17:45:08 -08:00
noahtalerman
523d596c77
Update app settings page and osquery options page styles. (#107)
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.
2020-12-08 12:08:59 -08:00
noahtalerman
5dd9b75e9c
Update query page (edit, new, manage) and packs page (edit, new, manage) styles. (#106)
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).
2020-12-08 12:07:54 -08:00
noahtalerman
cc0d578b75
Update manage users styles. Implement table (list) view. (#104)
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.
2020-12-08 11:58:19 -08:00
noahtalerman
028b968ff5
New styles for label creation form. (#101)
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).
2020-12-07 15:08:59 -08:00
noahtalerman
7d9906e5ea
Update Fleet setup styles (#78)
This PR is part of the UI Refresh #38.

The goal of this PR is to update the styles of the Fleet setup (onboarding) flow.
2020-12-02 09:59:44 -05:00
Zach Wasserman
0670db66c4
Migrate JS tests to Jest and update libraries (#74)
- 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.
2020-12-01 10:15:12 -08:00
noahtalerman
3953afb0b0
New styles and layout for hosts page. Remove grid view. (#73)
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.
2020-11-30 13:23:58 -05:00
noahtalerman
51cfb07f64
Implement global colors. Add italic font. (#64)
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.
2020-11-24 08:59:03 -08:00
Zach Wasserman
6dccabb5b0
Clean up output of JS test errors (#63)
- 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
2020-11-24 08:25:52 -08:00
noahtalerman
23ce98ec51
Add Nunito Sans font and update global styles. (#59)
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.
2020-11-19 16:51:22 -08:00
noahtalerman
8e37b8938c
Implement osquery options page (#11)
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.
2020-11-04 18:00:51 -08:00
noahtalerman
a6529cc5b0
Fix form field focus on setup pages (#2336)
- 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
2020-10-21 18:03:39 -07:00
Zachary Wasserman
7f35cedd8e
Update osquery versions available in schedule query UI (#2323) 2020-10-08 12:07:37 -07:00
Zachary Wasserman
7494513400 Clean up and comments before merge. 2020-07-21 14:05:46 -07:00
Zachary Wasserman
96fc090723 Improve server performance for host operations
- 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.
2020-07-21 14:05:46 -07:00
Zachary Wasserman
42bea2a144 Implement manual labels
"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.
2020-07-21 14:05:46 -07:00
Zachary Wasserman
ea93843203 Store only primary IP and MAC for hosts
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
2020-07-21 14:05:46 -07:00
Zachary Wasserman
ccc8581229
Upgrade eslint and dependencies (#2255)
Updates configuration and fixes issues introduced
2020-07-06 19:31:48 -07:00
Zachary Wasserman
c1aa8355cb
Add support for multiple enroll secrets (#2238)
- Support multiple enroll secrets
- Record name of enroll secret used when host enrolls
- Update fleetctl and UI to support these features
2020-05-29 09:12:39 -07:00
Zachary Wasserman
1c2a0b8f21
Allow CREATE in queries from web UI (#2182)
Fixes #2168
2020-01-23 08:12:00 -08:00
Christian Barcenas
dd6a55d527 Fix description for "Fleet App URL" config option (#2188)
Remove a misleading warning. This configuration parameter is only used by
Fleet-internal (i.e. non-osqueryd) endpoints.
2020-01-23 08:10:25 -08:00
billcobbler
a83a26b279 Add ability to disable live queries (#2167)
- Add toggle to disable live queries in advanced settings
- Add new live query status endpoint (checks for disabled via config and Redis health)
- Update QueryPage UI to use new live query status endpoint

Implements #2140
2020-01-13 16:53:04 -08:00
Austin Burnett
59efb495ca Add automatic host expiration capability (#2117)
When configured, this feature will delete hosts that have not checked in after the specified number of days.

Closes #1860.
2019-10-16 16:35:17 -07:00
seph
e4cc29a269 Rename remaining file in Admin to admin (#2108)
Improves consistency in directory naming.
2019-10-14 16:39:06 -07:00
Zachary Wasserman
3b349304fb
Disable editing of logged in user email in admin panel (#2031)
Doing so has long resulted in an error when submitting the form. This
disables the input field when editing the logged in users details in the
admin panel.

The logged in user can still change their own email using the "Account
Settings" page accessed in the top left of the sidebar.
2019-04-23 15:58:32 -07:00
Zachary Wasserman
992151fb8f
Clarify labels UI (#2012)
- Clarify language
- Add note about label queries being immutable

Closes #1384
2019-03-10 13:51:25 -07:00
Zachary Wasserman
c8229cc0d6
Replace uses of the term "Kolide" with "Fleet" (#1999)
Almost two years ago, we began referring to the project as Fleet, but there are
many occurences of the term "Kolide" throughout the UI and documentation. This
PR attempts to clear up those uses where it is easily achievable.

The term "Kolide" is used throughout the code as well, but modifying this would
be more likely to introduce bugs.
2019-01-24 09:39:32 -08:00
Zachary Wasserman
ca84f84078
Add query editor support for control-return (#1979)
- Control-return in the editor will now run the query

Closes #1631
2019-01-15 11:06:52 -08:00
Zachary Wasserman
6767369d48
Upgrade React to version 16 (#1983)
- Update all associated dependencies
- Very minimal changes to components
- Extensive refactoring for broken tests

Closes #1978
2019-01-14 13:45:28 -08:00
James Thomas
5e5e4f3918 Add Support for SMTP LOGIN Authentication Method (#1988)
This PR adds support for the SMTP LOGIN authentication method. Office 365 Exchange removed support for PLAIN authentication some time ago, and only supports LOGIN and an OAuth2 authentication method. This patch has been tested with a licensed O365 account. This method should also be usable with any other email server that advertises LOGIN in its 250-AUTH response.

Note: If using this with O365, the account used must not have MFA enabled.

Closes #1663
2019-01-14 12:35:23 -08:00
Zachary Wasserman
dc4b97d15f
Fix React deprecation warnings (#1976)
- Refactor imports of PropTypes to use the prop-types package
- Upgrade dependencies that were setting off deprecation warnings
2019-01-06 17:25:33 -08:00
Zachary Wasserman
759a69b5b7
Upgrade Bourbon to 5.1.0 and fix deprecation warnings (#1973)
- Replace uses of deprecated Bourbon helpers with raw CSS
- Add autoprefixer into the build chain to prefix the now removed helpers

This process was achieved by running through each of the deprecation warnings and using the following bash function to replace it in all files:

```
function bourbon-deprecate() {
    grep -rl "@include $1" ./frontend --exclude-dir=.git | xargs sed -i '' -E "s/@include $1[(](.*)[)]/$1: \1/g"
}
```

For some helpers, this did not result in valid CSS, so manual modifications were made.

Closes #1189 #1274
2019-01-03 12:46:55 -08:00
Zachary Wasserman
0c8a01e2ed
Update minimum osquery version options in query scheduler (#1943) 2018-10-16 14:29:13 -07:00
Zachary Wasserman
1e6437e620
Allow INSERT queries in query editor (#1938)
Closes #1937
2018-10-15 11:59:14 -07:00
Caleb Coy
0bb9c409a0 Flatten login screen styles (#1912) 2018-09-19 10:07:37 -04:00
Zachary Wasserman
79b2249e69
Allow update of settings page without enabling SMTP (#1903)
Fixes #1871
2018-09-07 15:37:35 -07:00
Mike Arpaia
de6dbd0f13
Remove decorators and osquery config from the UI (#1769) 2018-05-08 11:03:32 -06:00
Mike Arpaia
9d21cbdb8a removing license code (#1551) 2017-09-01 10:42:46 -06:00
John Murphy
f58e36e66a Fixed issue with query state, and query form title (#1550)
The component state of QueryPage was not assigned correctly, occasionally causing incorrect queries to be executed.
2017-08-23 14:00:24 -05:00
Kyle Knight
61973ecceb Fix up styles in IE11 (#1391)
* Fix up styles in IE11

* Getting check marks to show
2017-06-18 12:38:16 -06:00
John Murphy
151ce35e8c Front end support for decorator crud ops (#1509)
This PR closes #1448, providing front end CRUD operations for decorators.* Front end support for decorator crud ops.
2017-05-30 13:36:29 -05:00
John Murphy
019191c36b SSO Login and Configuration Support (#1506)
Closes issue #1456 This PR adds a single sign on option to the login form, exposes single sign on to the end user, and allows an admin user to set single sign on configuration options.
2017-05-17 10:58:40 -05:00
John Murphy
12d2df1f9a Add SSO support to new user activation (#1504)
Closes #1502. This PR adds support for SSO to the new user creation process. An admin now has the option to select SSO when creating a new user.  When the confirmation form is submitted, the user is automatically authenticated with the IDP, and if successful, is redirected to the Kolide home page. Password authentication, password change and password reset are not allowed for an SSO user.
2017-05-10 11:26:05 -05:00
Kyle Knight
3544535e1d Make % online round to two decimal places (#1427) 2017-04-07 07:50:11 -07:00
Zachary Wasserman
38a900dad5 Edits to admin app settings text (#1460) 2017-03-31 10:11:02 -07:00
John Murphy
587b6592ff Fixed problem where changed port didn't trigger validation (#1451)
Closes issue #1380

Skipped validation caused garbage data to get sent to the server which caused an error in the transport middleware.
2017-03-29 22:29:08 -05:00
Kyle Knight
8121e7cf3a Add selected styles to Pack Row (#1379) 2017-03-13 09:32:47 -04:00
Mike Stone
c7535e8d8c Add Front-end Documentation (#1373) 2017-03-10 17:13:29 -05:00
Kyle Knight
14fa984bd3 Update All platform text to use Icon (#1363) 2017-03-08 08:40:02 -08:00
Kyle Knight
b875c05f4d Update Pack schedule query Platform to allow All or OSes (#1361) 2017-03-08 08:11:47 -08:00
Kyle Knight
95b9e2c7d5 Fetch Targets after component is mounted (#1362) 2017-03-07 13:27:29 -05:00
Kyle Knight
facab79954 Update UI styles for Host Details card (#1317) 2017-03-06 10:37:06 -05:00
Mike Stone
7a7fb9eac9 Select targets tests (#1307)
* Adds tests for the TargetDetails component

* Adds tests for Select Targets Menu

* Rename target_stub to target_mock

* Adds tests for the SelectTargetsDropdown & minor refactor
2017-03-03 10:05:03 -05:00
Mike Stone
d747a471af Refactor API client (#1335)
* Isolate each API entity
* Improve code structure in API client and request mocks
* Standardize on a request mock structure
* Use helper for creating request mocks
* Adds Request class to handle API requests
2017-03-02 17:07:01 -05:00
Kyle Knight
89ee5b3aed Remove "All hosts" section in target selector when chosen (#1326) 2017-03-02 11:52:31 -05:00
Kyle Knight
169535afab Fix max-height issue with Full Screen Query Results (#1323) 2017-03-01 13:11:09 -06:00
Kyle Knight
6c6fb33915 Prevent Select Target dropdown from colliding with footer (#1303) 2017-02-24 17:52:42 -05:00
Kyle Knight
4aaf847edc Add Double Click event to Packs & Query tables (#1306) 2017-02-24 17:47:32 -05:00
Kyle Knight
0951cbfe1b Update Target Select UI (#1297) 2017-02-24 14:11:33 -05:00
Mike Stone
cc37cfa828 Allows users to update their email address (#1232) 2017-02-24 10:08:59 -05:00
Mike Stone
8b4b43fb82 938 pack query inspector (#1177)
* API client for patching a scheduled query

* Change select to check on ScheduledQueriesLists

* Clicking a scheduled query list item selects the scheduled query

* Helpers to format scheduled queries for client/server

* Allow updating a scheduled query

* Form cancel button
2017-02-17 13:11:43 -05:00
Mike Stone
803bc41366 New query page updates (#1229)
* Stop rendering results when query hasn’t been run

* Adds QueryPageSelectTargets component

* Re-arranges target select input on Query Page

* Adds label to KolideAce component

* Re-arrange inputs on the Query Form component
2017-02-16 15:31:21 -05:00
Mike Stone
ff74ba2233 Edit labels (#1207)
* Moves LabelForm outside of the QueryForm component

* Render LabelForm in ManageHostsPage

* API client to update labels

* Edit button styles
2017-02-15 09:51:19 -05:00
Zachary Wasserman
e0c767bc1e Update JS password validation (#1213)
Fixes #1212
2017-02-13 15:34:24 -08:00
Mike Stone
b32e489716 Fix JS test warnings (#1209) 2017-02-13 18:19:00 -05:00
Mike Stone
e565e03130 License features (#1134)
* API client to create and get an app license

* Fixes unhandled promise rejection errors in redux config

* License Page and Form

* Adds getLicense action

* Adds License key area to App Settings Form

* Use license.token instead of license.license

* Implement API client

* Adds key icon to License Form

* Adds License Success component

* Render License Success on License Page when there is a license

* Adds persistent flash actions and reducer to redux

* Adds nag message middleware

* Moves FlashMessage component to flash_message directory

* Adds Persistent Flash component

* Renders Persistent Flash component from Core Layout

* Adds Kyle's styles

* Change license validation message

* Finishing touches for app config form license area

* Handle revoked licenses

* License Page hits setup endpoint

* Display server errors on license form

* Changes 0 allowed hosts to unlimited

* Trims JWT token before sending to the server

* GET setup page after submitting license
2017-02-09 22:16:51 -05:00
Mike Stone
3120acf8f3 Send platform parameter when creating labels (#1179)
* Catches errors when polling for data on Manage Hosts Page

* Sends platform parameter to server on label create

* Remove unnecessary condition to format platform param

* Clean up scheduled query formData
2017-02-07 13:37:41 -05:00
Mike Stone
160c031a0b Client-side password validation (#1181) 2017-02-07 09:29:48 -05:00
Zachary Wasserman
c0b64182d5 Update app strings for release (#1163)
- Setup strings + appropriate style changes
- Post-login string
2017-02-02 12:43:18 -08:00
Zachary Wasserman
1742ad3a9e Fix and re-enable query syntax checking (#1150)
- Upgrade sqlite-parser version
- Revert "Stop validating query syntax (#1090)"
- Update tests
2017-02-02 10:36:05 -05:00
Kyle Knight
d5cb38aff2 Updating setup to not have so much white space between text and form (#1147) 2017-02-02 10:26:22 -05:00
Mike Stone
f263fbcba2 Add shard to scheduled query form (#1142)
* Adds shard input to Configure Pack Query Form

* Adds shard to API client

* Adds shard attribute to scheduled queries list
2017-02-01 15:48:08 -05:00
Kyle Knight
3ec6b10324 Allow users to select multiple platforms for pack query (#1074) 2017-01-24 18:52:48 -05:00
Mike Stone
8749633b85 Stop validating query syntax (#1090) 2017-01-24 17:23:20 -05:00
Mike Stone
949b9b53b1 Stop SMTP password from incorrectly preventing App Settings PATCH requests (#1076)
* Stop validating fake password
2017-01-24 17:19:43 -05:00
Mike Stone
c56a8b3465 Allow PATCHing the osquery enroll secret (#1073) 2017-01-20 20:17:03 -05:00
Mike Stone
378bf5571b connect new host enrollment (#1072) 2017-01-20 20:16:00 -05:00
Kyle Knight
378331ab58 Style Edit Packs form (#1033) 2017-01-20 18:10:32 -05:00
Kyle Knight
eb82856ae4 Output proper percentage of online hosts (#1071) 2017-01-20 18:08:35 -05:00
Mike Stone
e56e94b86e Add host details throughout app (#973) 2017-01-20 12:02:13 -05:00
Mike Stone
638ec8a1f3 Modify user endpoints (#1023)
* Update admin API client

* updateAdmin redux action

* Changes UserManagementPage actions for update admin

* Enable user API client

* Enable user redux actions

* Change UserManagementPage to dispatch enable user actions

* Connect change password to API
2017-01-19 14:55:42 -05:00
Kyle Knight
920908016e Style Invite User Modal (#1024) 2017-01-19 13:00:08 -05:00
Kyle Knight
2b55cf3acf Remove all signs of Import osquery config page (#1015) 2017-01-19 12:24:01 -05:00
Mike Stone
dd74d37033 Send changed params in patch requests (#1005)
* PATCH packs with updated attributes only

* PATCH queries with updated attributes only

* PATCH user updates with updated attributes only

* Prevent setting state on unmounted component

* Load all packs on the manage packs page

* Do not send target info to server if unchanged
2017-01-18 12:10:37 -05:00
Mike Stone
0dbe94573f Don’t allow user to run query without selected targets (#1000) 2017-01-18 09:38:52 -05:00
Mike Stone
6b3a54ba79 handle disabled email in invite form (#994)
* Moves SmtpWarning to the components directory

* Renders base errors on invite user form

* Prevents add user and displays warning if smtp not configured

* Wait to render content until API calls finish
2017-01-17 16:50:40 -05:00
Kyle Knight
f28bd803c4 Manage Hosts filtered icons (#987)
* Cleaning up rendered icons on hosts page

* Fixing lint
2017-01-17 12:55:19 -06:00
Kyle Knight
f169b68bdf Style osquery config page (#968) 2017-01-17 11:38:56 -05:00
Mike Stone
639bdb4e11 Scaffold import config page (#927) 2017-01-13 18:27:58 -05:00
Kyle Knight
3113ae4651 Add a timer component to new query screen (#944) 2017-01-13 17:15:03 -05:00
Kyle Knight
427235b837 Select Targets disabled adding padding to right side (#925) 2017-01-12 11:32:41 -05:00
Kyle Knight
1a011dadbd Removing requirement for org avatar & fixing "Enter" key on /setup (#871)
* Removing requirment for org avatar

* Convert /setup to multiple forms

* Getting kinks worked out of Enter key

* Fixing typescript nonesense linting issues
2017-01-11 12:27:33 -07:00
Kyle Knight
7a44c269a9 Prevent default queries from rendering (#862)
* Prevent default queries from rendering

* Small styling tweaks
2017-01-11 13:08:27 -06:00
Mike Stone
d1a18bcb89 Add targets to packs (#831)
* Allow form field values to be an array

* Send the server host and label ids on create

* Get and display the targets in a pack

* Adds target_type to labels and hosts

* Allow updating a pack’s targets as well as name and description

* Adds select targets dropdown to edit pack page

* Adds targets to dropdown when pack is edited
2017-01-11 12:10:14 -05:00
Mike Arpaia
efca0947ec SMTP API changes (#883)
* SMTP API changes

* remove smtp buttons

* remove password from api response

* no fields are required in the patch request
2017-01-10 21:41:58 -07:00
Mike Arpaia
5eb926c891 Make SMTP configuration work (#877)
* add a js validator that makes smtp server port required

* specifying that the InputField should be a number. this doesn't work, but i think that it should.

* casting the port as an int as a stop-gap fix

* email doesn't already have to be enabled to be enabled

* don't return the smtp password from the API

* show a fake placeholder password if the username is also set

* error type for @groob
2017-01-10 19:00:46 -07:00
Mike Arpaia
84aaec0d71 Fix a few osquery config bugs (#869) 2017-01-10 15:27:52 -07:00
Kyle Knight
f3f6ff4010 Fixing some styling issues on New Label Query (#849)
* Fixing some styling issues on New Label Query

* Fix lint error:
2017-01-10 13:20:36 -06:00
Kyle Knight
73035877b3 Fixing spacing of manage packs header (#848)
* Fixing spacing of header

* Make h1 headers consistent
2017-01-10 10:27:10 -06:00
Kyle Knight
2bbad2f05a Getting New Query back in order (#830) 2017-01-09 17:13:52 -06:00
Mike Stone
fa5c0c53cd Fix run query bug where query text wasn’t changing (#821) 2017-01-09 15:32:23 -05:00
Mike Stone
cc5aa3395d Password fields (#769)
* Sets original password and SMTP config password as HTML password fields
2017-01-09 09:44:52 -05:00
Kyle Knight
eaf0105c6c Some additional stylings to make New Packs a little more bester (#679) 2017-01-06 09:36:51 -06:00
Kyle Knight
d6a7fd1e3a Moving buttons to be inline with SMTP Options (#768) 2017-01-06 09:30:31 -06:00
Mike Stone
1c2d243cc8 Validate presence of the organization name in settings (#773) 2017-01-05 19:41:32 -05:00
Mike Stone
92d91fdebc Handle server errors (#730)
* consistent error handling

* Display server errors in InviteUserForm

* Handle errors in Form component

* Refactors query form

* creates KolideAce component

* Renders QueryForm from query page and manage hosts page

* Moves ace editor and select targets dropdown to query form

* Render base errors in Form HOC

* LoginPage and ForgotPasswordPage server errors

* Ensure unique key for user blocks

* Adds base error to login form and forgot password form

* Adds base error to query form

* Adds base error to Pack Form

* Adds errors to confirm invite form

* Adds clearErrors action

* clear errors when confirm invite page unmounts

* Handle errors in the App Setting page

* Handle server errors in the User Settings Page

* Handle server errors in the User Management Page
2017-01-05 19:01:17 -05:00
Kyle Knight
cff7d19ad5 Updating FlashMessage styles (#684) 2017-01-05 12:08:19 -06:00
Kyle Knight
ab540cdfb5 Dropdown Button (#744) 2017-01-05 09:26:10 -06:00
Mike Stone
4ba3ad51f0 All packs page (#709)
* Display packs page at /packs/manage

* Adds NumberPill component

* Filter packs list

* Render the pack info side panel when no packs are selected

* Adds packs list

* Moves state management to page component

* Display selected pack count

* Render bulk action buttons

* API client - update pack

* API client - destroy pack

* Adds update/destroy functions to packs redux config

* Bulk actions (enable, disable, delete)

* Selecting a pack updates state

* PackDetailsSidePanel updates pack status

* Link to edit pack on side panel

* sets selected pack in URL

* Sets color for unsettled buttons

* Loads scheduled queries for selected pack in All Packs Page

* PackDetailsSidePanel component

* PackDetailsSidePanel styles

* styles PacksList component

* Stop rendering flash when pack status is updated

* Makes full row clickable

* highlight selected pack
2017-01-03 15:56:50 -05:00
Mike Stone
448e806c36 374 confirm invite (#583)
* ConfirmInviteForm

* Render ConfirmInvitePage at /invites/:invite_token

* Add email, pre-fill name, and handle successful submit

* Fix button text
2016-12-29 15:27:43 -05:00
Mike Stone
7fa60d0724 Change Button component to take children instead of text prop (#710) 2016-12-28 10:24:52 -05:00
Kyle Knight
6f90e51bc7 Style App settings form (#701) 2016-12-27 10:32:30 -05:00
Mike Stone
ee6832c743 App settings page (#615)
* AppSettingsPage at /admin/settings

* Adds App Settings to site nav items

* SMTP not configured warning

* Creates AppConfigForm

* Avatar preview

* API client to update app config

* Creates OrgLogoIcon component

* Hide username/password when no auth type
2016-12-23 13:40:16 -05:00
Kyle Knight
8f07fe2ed2 Fixing bug in Query Table sidebar dropdown (#691) 2016-12-22 13:26:18 -06:00
Kyle Knight
8baffbc97e Refactor A Few Rendering Issues (#656) 2016-12-21 12:39:40 -06:00
Kyle Knight
0bc73b421f User Settings Styles (#655) 2016-12-21 12:22:18 -06:00
Mike Stone
f099b2ae22 Create packs (#516)
* Creates new PackComposerPage at /packs/new

* Creates PackForm component

* Adds PackForm to PackComposerPage

* Creates QueriesListItem

* Creates QueriesList

* Creates QueriesListWrapper

* Get all queries when the Packs Composer Page loads

* Form HOC handles updates to formData prop

* Creates form to configure scheduled queries

* QueriesListWrapper renders ConfigurePackQueryForm

* search queries input filters queries list

* Empty state text

* create pack when user submits the new pack form

* Adds Edit pack page to /packs/:pack_id/edit

* API client - get scheduled queries for a pack

* API client - create scheduled query

* Redux config for scheduled queries

* Remove scheduled queries from packs

* Add labels to pack on create

* Add disabled state to the select targets dropdown

* Adds edit route and pushes to new route on edit click

* Adds cancel button to edit pack form

* Adds Checkbox that selects all scheduled queries in table
2016-12-21 12:25:54 -05:00
Mike Stone
8567cc458c Run query (#549)
* Adds campaigns to redux state

* Update campaign with web socket data

* Destroy the current campaign when creating a new one

* close the socket when leaving the page or creating a new campaign

* Allow stopping a running query

* Update campaign with query results

* Adds QueryResultsTable

* Display flash message if campaign can't be created

* Allow filtering query results

* Adds filter icon

* Prevent query text updates when the query is running
2016-12-21 12:07:13 -05:00
Kyle Knight
8ad731e8fb Refactor form fields (#636) 2016-12-16 09:54:49 -06:00
Mike Stone
e1de01a2f8 Add skeleton for User settings page (#627) 2016-12-13 10:24:58 -05:00
Kyle Knight
d2c020e8c4 Cleanup styles for fields with icons (#605) 2016-12-09 11:14:16 -05:00
Kyle Knight
bbad316bae Theming AceEditor (#591) 2016-12-08 10:08:21 -06:00
Kyle Knight
21ec1ed1b1 Resolve lots of absolute and fixed positioning issues (#571) 2016-12-06 11:55:48 -05:00
Mike Stone
854bc5bd1c Moves "All Hosts" label to it's own section in the dropdown (#573) 2016-12-05 17:48:46 -05:00
Kyle Knight
9e6a8eae56 Styling User Registration (#529) 2016-12-01 13:57:19 -05:00
Kyle Knight
6a1a9c6ce9 Finish styling on Manage Hosts sidebar (#532) 2016-11-29 17:29:14 -05:00
Kyle Knight
9a769d67a4 Remove ShadowBox & ShadowBoxInput (#537) 2016-11-28 15:35:43 -06:00
Kyle Knight
7acec77303 Render Icons with component (#533) 2016-11-28 13:20:15 -06:00
Kyle Knight
46dee08ab3 Query Select Target Dropdown (#499) 2016-11-23 15:10:32 -06:00
Mike Stone
5dd0b1cf64 User registration submit (#490)
* Renames kolide_web_address to kolide_server_url

* API client for new user setup

* handle api response

* Do not allow logged in users to register
2016-11-21 15:22:14 -05:00
Mike Stone
3f3a42bdf0 Form updates (#496)
* Updates EditUserForm

* Refactor ForgotPasswordForm

* Refactors LoginForm

* Refactors ResetPasswordForm
2016-11-21 10:43:08 -05:00
Mike Stone
8bb2a39d86 Improves re-usability of the SelectTargetsDropdown (#518)
* Improves re-usability of the SelectTargetsDropdown
2016-11-21 10:38:23 -05:00
Kyle Knight
cb6c840776 Removing hardcoded icons and replacing with icon font (#506) 2016-11-17 12:16:09 -06:00
Mike Stone
bb62993ea5 Hosts side panel (#472)
* Host side panel

* Query form handles labels

* QueryComposer handles labels

* ManageHostsPage add label transitions

* Stop preventing default on click outside of ellipsis menu

* get labels from API

* use real label data in hosts side panel

* create label on label form submit

* adds platform dropdown

* Validate query text

* Label header

* validate presence of query text
2016-11-17 12:12:41 -05:00
Mike Stone
c1866c48c4 User registration (#453)
* RegistrationPage with Breadcrumbs

* Registration Form

* client-side validations

* Form page headers and description

* Form HOC
2016-11-16 11:58:25 -05:00
Kyle Knight
29ef9e3ce8 Rearranging Files & Killing Off colors.js (#482) 2016-11-15 12:52:17 -06:00
Mike Stone
b0e856c369 Update target select (#464)
* Stop sending click event to click handler prop

* Delineates between hosts & labels in dropdown options

* Render target details when a moreInfoTarget is present

* Remove moreInfoTarget when the select is closed

* Remove modal

* refactor formatting targets API response

* Adds + icon to dropdown options

* Restructures dropdown rendering
2016-11-14 12:32:13 -05:00
Kyle Knight
cd2981e76b Updating styles on Admin User Management (#463) 2016-11-11 08:42:23 -06:00
Kyle Knight
ea6ca72f43 Removing icons from Dropdown (#469) 2016-11-10 13:37:16 -06:00
Kyle Knight
67024ceace Update styles on Dropdown component (#462) 2016-11-10 10:33:04 -06:00
Mike Stone
37df94f7fa Convert to ts (#386)
Converts email validator and  Avatar component to typescript
2016-11-09 17:54:34 -05:00
Mike Stone
1469a7a37e formData mimics query attribute names (#461)
This fixes a bug that allowed users to submit the form to update a
query when no changes were made
2016-11-09 11:44:58 -05:00
Kyle Knight
74240f647b Updating Button Styles (#454) 2016-11-09 09:38:21 -06:00
Kyle Knight
b4572b7327 Converting use of native select elements to react-select library (#440) 2016-11-09 08:26:15 -06:00
Kyle Knight
ecf9eddbca Styling New Query page forms (#451) 2016-11-09 08:00:40 -06:00
Kyle Knight
00d479a3b6 Updating login form to fix password letter spacing (#452) 2016-11-08 08:36:05 -06:00
Mike Stone
63e84715c7 Update query (#446)
* Api client update query

* Update query when user clicks "Save Changes"

* Update query text
2016-11-08 09:23:25 -05:00
Mike Stone
01e7ac2b6c Create query (#382)
* API call to create queries

* Add queries to redux

* create query when query form is submitted

* Redirect to ShowQueryPage after creating query

* Removes theme dropdown and NewQuery component header

* Extract NewQueryPage component state to redux state

* Pass logic down to NewQuery component as props

* Changes NewQuery component name to QueryComposer

* Render NewQueryPage for /queries/:id route

* Update ReduxConfig for loading a single resource

* QueryPage tests

* Get query when the query page loads

* catch errors when query is invalid

* Renames UpdateQueryForm to QueryForm to re-usability

* Changes InputField to a controlled component

* Always render the Query Form on Query Pages
2016-11-07 11:42:39 -05:00
Kyle Knight
ca33d238d8 Converting JS/Radium styles to SCSS (#360) 2016-11-03 14:40:54 -05:00
Mike Stone
64d1924af4 Save query form (#353)
* Removes SaveQuerySection

* Updates to NewQuery & SaveQueryForm

* SaveQueryFormModal

* Load the SaveQueryFormModal on "Save Query" click

* Run query button

* hide modal form after submit

* Disable run query btn without selected targets
2016-10-31 14:08:54 -04:00
Kyle Knight
4c6c0a2b05 Adding scss-lint and cleaning up styles (#354) 2016-10-28 16:25:57 -05:00
Kyle Knight
faf58c9019 Login/Logout Restyling & Code Cleanup (#338) 2016-10-28 10:01:08 -05:00
Mike Stone
e2a5502e21 Select targets (#340)
* Api client get targets

* Allow entities to parse full api response

* responsive nav style fixes

* Add disabled prop to button

* Add targets from API to target select input

* customize target rendering in input field

* call API on select target input change

* display # hosts selected

* Adds new icons to icon font

* Customize select targets input options

* Update directory structure

* restructure select targets input

* Adds hosts to labels

* Host modal styles

* ShadowBoxInput component

* TargetInfoModal for labels

* consistent entity response in api client stubs

* Fix bug removing multiple hosts in target select input

* change Button component to use css classes
2016-10-27 12:14:30 -04:00
Mike Stone
ee3d96eb53 Update eslint (#337)
* Updates eslint packages

* Expected parentheses around arrow function argument having a body with curly braces

* Prop type `object` is forbidden

* Visible, non-interactive elements should not have mouse or keyboard event listeners

* Prop type is defined but not used

* Unexpected use of file extension "jsx"

* Expected 'this' to be used by class method

* HTML entities must be escaped

* Prevent default behavior on more options button click
2016-10-21 19:13:41 -04:00
Mike Stone
aa275751b2 Client side query validation (#335)
* validate query text

* Update structure of submitted SaveQueryForm data

* form calls correct prop function when invalid query text

* Lowercase directory names
2016-10-21 17:58:13 -04:00
Mike Arpaia
c07702330d Cleaning JavaScript imports and if statements (#327)
* Moving entityGetter to utility folder

* Import whitespace and if statement braces

* newlines between multi-line if's
2016-10-19 16:22:18 -04:00
Mike Stone
beda051de2 Show invited users (#297)
* Adds loadAll action to redux entity config

* API Client get invites

* Add invites to the user management page

* Updates user block styles on user management page

* Submit modal form on enter

* Modify details form styles

* Enter submits edit user form

* Removes unused admin dashboard page

* API Client - revoke invites

* Delete invite entities in redux

* Revoke invites from admin manage users page

* Show success flash message after user invite is revoked
2016-10-14 17:08:57 -04:00
Mike Stone
2c17e641cb Invite new users (#290)
* API client - invite users

* configure invites as a redux entity

* Invite user form submits invite from user management page
2016-10-11 11:34:52 -04:00
Mike Stone
23ffa5be62 Query side panel (#269)
* QuerySidePanel component

* Adds all osquery table names to ace editor mode

* kolide theme for strings

* Detect OS from browser

* Show utility and specs availability as 'All Platforms'

* Show column description as alt text
2016-10-11 11:32:39 -04:00
Mike Stone
db57aaa1fc Filter unchanged attributes when updating user (#293)
* Only send changed user attributes to the server

* Improve flash message styles

* Do not allow admins to demote or disable their own account

* Disable admin actions against self
2016-10-07 13:07:02 -04:00
Mike Stone
10dd855a77 styles the dropdown component (#271)
* styles the dropdown component

* Updates Dropdown component to behave like other form fields
2016-10-04 18:24:39 -04:00
Mike Stone
6ebc460b66 Admin user management (#233)
Admin user management page
2016-10-03 13:54:22 -04:00