diff --git a/frontend/components/KolideAce/KolideAce.jsx b/frontend/components/KolideAce/KolideAce.jsx index 877d3639e9..23f74686d0 100644 --- a/frontend/components/KolideAce/KolideAce.jsx +++ b/frontend/components/KolideAce/KolideAce.jsx @@ -15,10 +15,11 @@ class KolideAce extends Component { static propTypes = { error: PropTypes.string, fontSize: PropTypes.number, + handleSubmit: PropTypes.func.isRequired, label: PropTypes.string, name: PropTypes.string, - onChange: PropTypes.func, - onLoad: PropTypes.func, + onChange: PropTypes.func.isRequired, + onLoad: PropTypes.func.isRequired, value: PropTypes.string, readOnly: PropTypes.bool, showGutter: PropTypes.bool, @@ -49,6 +50,7 @@ class KolideAce extends Component { const { error, fontSize, + handleSubmit, name, onChange, onLoad, @@ -86,6 +88,11 @@ class KolideAce extends Component { value={value} width="100%" wrapEnabled={wrapEnabled} + commands={[{ + name: 'commandName', + bindKey: { win: 'Ctrl-Enter', mac: 'Ctrl-Enter' }, + exec: handleSubmit, + }]} /> ); diff --git a/frontend/components/forms/queries/QueryForm/QueryForm.jsx b/frontend/components/forms/queries/QueryForm/QueryForm.jsx index 0a49edfa97..2c68398146 100644 --- a/frontend/components/forms/queries/QueryForm/QueryForm.jsx +++ b/frontend/components/forms/queries/QueryForm/QueryForm.jsx @@ -41,10 +41,11 @@ class QueryForm extends Component { name: formFieldInterface.isRequired, query: formFieldInterface.isRequired, }).isRequired, - handleSubmit: PropTypes.func, + handleSubmit: PropTypes.func.isRequired, formData: queryInterface, - onOsqueryTableSelect: PropTypes.func, - onUpdate: PropTypes.func, + onOsqueryTableSelect: PropTypes.func.isRequired, + onRunQuery: PropTypes.func.isRequired, + onUpdate: PropTypes.func.isRequired, queryIsRunning: PropTypes.bool, title: PropTypes.string, }; @@ -137,7 +138,7 @@ class QueryForm extends Component { } render () { - const { baseError, fields, handleSubmit, queryIsRunning, title } = this.props; + const { baseError, fields, handleSubmit, onRunQuery, queryIsRunning, title } = this.props; const { errors } = this.state; const { onLoad, renderButtons } = this; @@ -158,6 +159,7 @@ class QueryForm extends Component { onLoad={onLoad} readOnly={queryIsRunning} wrapperClassName={`${baseClass}__text-editor-wrapper`} + handleSubmit={onRunQuery} /> diff --git a/frontend/components/queries/QueryProgressDetails/QueryProgressDetails.jsx b/frontend/components/queries/QueryProgressDetails/QueryProgressDetails.jsx index 6d1d25a9f9..6c431d1803 100644 --- a/frontend/components/queries/QueryProgressDetails/QueryProgressDetails.jsx +++ b/frontend/components/queries/QueryProgressDetails/QueryProgressDetails.jsx @@ -9,11 +9,7 @@ import Timer from 'components/loaders/Timer'; const baseClass = 'query-progress-details'; -const QueryProgressDetails = ({ campaign, className, onRunQuery, onStopQuery, query, queryIsRunning, queryTimerMilliseconds }) => { - const handleRunQuery = () => { - return onRunQuery(query); - }; - +const QueryProgressDetails = ({ campaign, className, onRunQuery, onStopQuery, queryIsRunning, queryTimerMilliseconds }) => { const { hosts_count: hostsCount } = campaign; const totalHostsCount = get(campaign, ['totals', 'count'], 0); const totalRowsCount = get(campaign, ['query_results', 'length'], 0); @@ -22,7 +18,7 @@ const QueryProgressDetails = ({ campaign, className, onRunQuery, onStopQuery, qu