fleet/frontend/components/side_panels/ScheduleQuerySidePanel/ScheduleQuerySidePanel.jsx
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

63 lines
1.7 KiB
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import ConfigurePackQueryForm from 'components/forms/ConfigurePackQueryForm';
import queryInterface from 'interfaces/query';
import scheduledQueryInterface from 'interfaces/scheduled_query';
import SearchPackQuery from './SearchPackQuery';
import SecondarySidePanelContainer from '../SecondarySidePanelContainer';
const baseClass = 'schedule-query-side-panel';
const ScheduleQuerySidePanel = ({
allQueries,
onConfigurePackQuerySubmit,
onFormCancel,
onUpdateScheduledQuery,
onSelectQuery,
selectedQuery,
selectedScheduledQuery,
}) => {
const renderForm = () => {
if (!selectedQuery) {
return false;
}
const formData = selectedScheduledQuery || {};
formData.query_id = selectedQuery.id;
const handleSubmit = selectedScheduledQuery ? onUpdateScheduledQuery : onConfigurePackQuerySubmit;
return (
<ConfigurePackQueryForm
formData={formData}
handleSubmit={handleSubmit}
onCancel={onFormCancel}
/>
);
};
return (
<SecondarySidePanelContainer className={baseClass}>
<SearchPackQuery
allQueries={allQueries}
onSelectQuery={onSelectQuery}
selectedQuery={selectedQuery}
/>
{renderForm()}
</SecondarySidePanelContainer>
);
};
ScheduleQuerySidePanel.propTypes = {
allQueries: PropTypes.arrayOf(queryInterface),
onConfigurePackQuerySubmit: PropTypes.func,
onFormCancel: PropTypes.func,
onSelectQuery: PropTypes.func,
onUpdateScheduledQuery: PropTypes.func,
selectedQuery: queryInterface,
selectedScheduledQuery: scheduledQueryInterface,
};
export default ScheduleQuerySidePanel;