Commit Graph

96 Commits

Author SHA1 Message Date
Kyle Knight
28f0247654 Fix busted scrolling after full screen query results (#1400) 2017-03-13 11:20:34 -04:00
Mike Stone
a853acd172 Fix bug selecting targets when querying a host (#1366) 2017-03-09 13:01:15 -08:00
Mike Stone
658ee2f3ee Fix 907 - stop query when websocket finishes (#1371) 2017-03-07 16:24:30 -05:00
Kyle Knight
13f06904ee Toggle small nav after leaving query page (#1355) 2017-03-06 17:34:30 -05:00
Zachary Wasserman
3d6ca7d5a4 Use sockjs to gracefully degrade websockets (#1255)
Use the [SockJS Protocol](https://github.com/sockjs/sockjs-protocol) to handle
bidirectional communication instead of plain websockets. This allows
distributed queries to function in situations in which they previously failed
(Load balancers not supporting websockets, issues with Safari and self-signed
certs, etc.).

Also includes fixes to the JS message handling logic where slightly different
message delivery semantics (when using XHR) were exposing bugs.

Fixes #1241, #1327.
2017-03-01 13:14:26 -08:00
Kyle Knight
169535afab Fix max-height issue with Full Screen Query Results (#1323) 2017-03-01 13:11:09 -06:00
Kyle Knight
4d7a850481 Fix full-screen view by removing shrinking class (#1313) 2017-02-27 12:04:52 -05:00
Kyle Knight
b7fb83ce4b Full Screen Query Results (#1238) 2017-02-24 18:01:43 -05:00
Kyle Knight
4aaf847edc Add Double Click event to Packs & Query tables (#1306) 2017-02-24 17:47:32 -05:00
Kyle Knight
0d6aa52ce2 Remove extraneous flash success messages (#1226) 2017-02-23 09:49:16 -06: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
b32e489716 Fix JS test warnings (#1209) 2017-02-13 18:19:00 -05:00
Mike Stone
f0f40d3168 Indicate failed hosts on Query Results table (#1192)
* Adds hosts_count attribute to campaign with success/fail/total

* Displays error % in Progress Bar component

* Indicate failed hosts on Query Results table

* Changes ProgressBar background to silver
2017-02-10 09:39:20 -05:00
Mike Stone
eb948da80d Fix weird rendering issue when for no query results (#1146) 2017-02-02 10:39:01 -05:00
Kyle Knight
c12340b346 Update Delete Query modal style (#1149) 2017-02-02 10:25:42 -05:00
Mike Stone
9468fb3908 Reset checkedQueryIDs after queries are deleted (#1125) 2017-01-30 15:12:31 -05:00
Mike Stone
cdc3d1bf3a Renders query list in case-insensitive alpha order (#1126) 2017-01-30 15:11:13 -05:00
Mike Stone
54653127ee Clear selected targets and query results on page change (#1127) 2017-01-30 15:09:26 -05:00
Mike Stone
e18f93de02 Wait for API calls to complete before rendering page (#1117) 2017-01-27 10:05:44 -05:00
Kyle Knight
8f6cd65f4b Sorting Query and Packs tables alphabetically (#1093) 2017-01-25 08:31:29 -06:00
Mike Stone
8432d0494f Allow users to export query results (#1082) 2017-01-24 16:18:02 -05:00
Mike Stone
bc9273622c Add Query online hosts button (#1070) 2017-01-20 18:07:54 -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
Kyle Knight
048938de0b Add spinner for running Query (#926)
* Add spinner for running query

* fixing lint

* Adding in check for this.socket

* Full height results area with centered spinner

* Don't hide table if query is stopped

* Remove results container if no results yet

* No more console.log
2017-01-12 12:28:46 -06:00
Kyle Knight
427235b837 Select Targets disabled adding padding to right side (#925) 2017-01-12 11:32:41 -05: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
0fc4238595 Styling Manage Queries page (#793) 2017-01-09 21:58:18 -05: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
39c9c6b0da Manage queries page (#762)
* renders ManageQueriesPage at /queries/manage

* Renames QueriesList components to ScheduledQueriesList components

* creates QueriesList component

* Adds side panel component to display query details

* Adds KolideAce editor to Query Details side panel

* Handle Edit Query button click

* Change text of the Delete Query button

* Show confirmation modal before deleting queries
2017-01-06 15:57:44 -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
ab540cdfb5 Dropdown Button (#744) 2017-01-05 09:26:10 -06: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
Mike Stone
608cca4910 Removes unused sidebar code (#660) 2016-12-20 09:13:50 -05:00
Kyle Knight
0b70f58614 Styling Manage Hosts [Grid View] (#602) 2016-12-15 08:44:45 -06:00
Mike Arpaia
bed279b919 Remove "selected" keyword from response (#635) 2016-12-13 15:59:59 -08: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
Zachary Wasserman
6133a61fd1 Fix flatMap logic in target selection request (#512)
The previous logic was causing nulls to be sent as IDs in the request arrays.
2016-11-18 09:20:21 -08: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
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
Mike Stone
995d86e902 Get targets from API (#459)
* API client getTargets

* change label to display_text

* filters options

* send selected targets to server

* get targets when selected targets are added or removed

* show 0 unique hosts when no targets have been selected
2016-11-09 13:08:00 -05: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
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
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