| Server IP : 146.59.209.152 / Your IP : 216.73.217.99 Web Server : Apache System : Linux webm009.cluster131.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : monpetu ( 144298) PHP Version : 7.4.33 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/monpetu/www/benneplus/wp-content/plugins/really-simple-ssl/settings/src/Settings/Host/ |
Upload File : |
import { useState, useEffect, memo } from "@wordpress/element";
import { ThemeProvider } from '@mui/material/styles';
import useFields from "../FieldsData";
import AutoCompleteControl from "../AutoComplete/AutoCompleteControl";
import useHostData from "./HostData";
import { __ } from "@wordpress/i18n";
import autoCompleteSharedTheme from "../../utils/autoCompleteTheme";
const Host = ({ field, showDisabledWhenSaving = true }) => {
const { updateField, setChangedField, saveFields, handleNextButtonDisabled } = useFields();
const [disabled, setDisabled] = useState(false);
const { fetchHosts, hosts, hostsLoaded } = useHostData();
useEffect(() => {
if (!hostsLoaded) {
fetchHosts();
}
}, []);
useEffect(() => {
handleNextButtonDisabled(disabled);
}, [disabled]);
const onChangeHandler = async (fieldValue) => {
if (showDisabledWhenSaving) {
setDisabled(true);
}
updateField(field.id, fieldValue);
setChangedField(field.id, fieldValue);
await saveFields(true, false);
setDisabled(false);
};
let loadedHosts = hostsLoaded ? hosts : [];
let options = [];
let item = {
label: __('Optional - Select your hosting provider.', 'really-simple-ssl'),
value: '',
};
if (field.value.length === 0) {
options.push(item);
}
for (let key in loadedHosts) {
if (loadedHosts.hasOwnProperty(key)) {
let item = {};
item.label = loadedHosts[key].name;
item.value = key;
options.push(item);
}
}
return (
<ThemeProvider theme={autoCompleteSharedTheme}>
<AutoCompleteControl
className="rsssl-select"
field={field}
label={field.label}
onChange={(fieldValue) => onChangeHandler(fieldValue)}
value={field.value}
options={options}
disabled={disabled}
/>
</ThemeProvider>
);
};
export default memo(Host);