2022-04-21 18:12:42 +00:00
|
|
|
import React, { useState } from "react";
|
|
|
|
|
|
|
|
|
|
import Button from "components/buttons/Button";
|
|
|
|
|
import Checkbox from "components/forms/fields/Checkbox";
|
|
|
|
|
|
2022-10-27 18:06:57 +00:00
|
|
|
import CustomLink from "components/CustomLink";
|
2022-11-17 19:43:28 +00:00
|
|
|
import { IAppConfigFormProps, IFormField } from "../constants";
|
2022-04-21 18:12:42 +00:00
|
|
|
|
|
|
|
|
const baseClass = "app-config-form";
|
|
|
|
|
|
|
|
|
|
const Statistics = ({
|
|
|
|
|
appConfig,
|
|
|
|
|
handleSubmit,
|
2022-08-29 15:21:37 +00:00
|
|
|
isUpdatingSettings,
|
2022-04-21 18:12:42 +00:00
|
|
|
}: IAppConfigFormProps): JSX.Element => {
|
|
|
|
|
const [formData, setFormData] = useState<any>({
|
|
|
|
|
enableUsageStatistics: appConfig.server_settings.enable_analytics,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const { enableUsageStatistics } = formData;
|
|
|
|
|
|
|
|
|
|
const handleInputChange = ({ name, value }: IFormField) => {
|
|
|
|
|
setFormData({ ...formData, [name]: value });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const onFormSubmit = (evt: React.MouseEvent<HTMLFormElement>) => {
|
|
|
|
|
evt.preventDefault();
|
|
|
|
|
|
|
|
|
|
// Formatting of API not UI
|
|
|
|
|
const formDataToSubmit = {
|
|
|
|
|
server_settings: {
|
|
|
|
|
server_url: appConfig.server_settings.server_url || "",
|
|
|
|
|
live_query_disabled:
|
|
|
|
|
appConfig.server_settings.live_query_disabled || false,
|
|
|
|
|
enable_analytics: enableUsageStatistics,
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
handleSubmit(formDataToSubmit);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<>
|
|
|
|
|
<form className={baseClass} onSubmit={onFormSubmit} autoComplete="off">
|
|
|
|
|
<div className={`${baseClass}__section`}>
|
|
|
|
|
<h2>Usage statistics</h2>
|
|
|
|
|
<p className={`${baseClass}__section-description`}>
|
2022-08-03 18:44:34 +00:00
|
|
|
Help improve Fleet by sending usage statistics.
|
2022-04-21 18:12:42 +00:00
|
|
|
<br />
|
|
|
|
|
<br />
|
|
|
|
|
This information helps our team better understand feature adoption
|
|
|
|
|
and usage, and allows us to see how Fleet is adding value, so that
|
|
|
|
|
we can make better product decisions.
|
|
|
|
|
<br />
|
|
|
|
|
<br />
|
2022-10-27 18:06:57 +00:00
|
|
|
<CustomLink
|
|
|
|
|
url="https://fleetdm.com/docs/using-fleet/usage-statistics#usage-statistics"
|
|
|
|
|
text="Learn more about usage statistics"
|
|
|
|
|
newTab
|
|
|
|
|
/>
|
2022-04-21 18:12:42 +00:00
|
|
|
</p>
|
|
|
|
|
<div className={`${baseClass}__inputs ${baseClass}__inputs--usage`}>
|
|
|
|
|
<Checkbox
|
|
|
|
|
onChange={handleInputChange}
|
|
|
|
|
name="enableUsageStatistics"
|
|
|
|
|
value={enableUsageStatistics}
|
|
|
|
|
parseTarget
|
|
|
|
|
>
|
|
|
|
|
Enable usage statistics
|
|
|
|
|
</Checkbox>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2022-08-29 15:21:37 +00:00
|
|
|
<Button
|
|
|
|
|
type="submit"
|
|
|
|
|
variant="brand"
|
|
|
|
|
className="save-loading"
|
|
|
|
|
isLoading={isUpdatingSettings}
|
|
|
|
|
>
|
2022-04-21 18:12:42 +00:00
|
|
|
Save
|
|
|
|
|
</Button>
|
|
|
|
|
</form>
|
|
|
|
|
</>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default Statistics;
|