HEX
Server: Apache/2
System: Linux vps33975.sdns.vn 3.10.0-1160.15.2.el7.x86_64 #1 SMP Wed Feb 3 15:06:38 UTC 2021 x86_64
User: agritom (1060)
PHP: 7.4.33
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/agritom/public_html/wp-content/plugins/really-simple-ssl/settings/src/Settings/Host.js
import {
    SelectControl,
} from '@wordpress/components';
import * as rsssl_api from "../utils/api";
import {useRef} from "@wordpress/element";

const Host = (props) => {
    const disabled = useRef(false);

    const onChangeHandler = (fieldValue) => {
        let fields = props.fields;
        let field = props.field;
        field.value = fieldValue;
        fields[props.index]['value'] = fieldValue;

        //force update, and get new fields.
        disabled.current = true;
        let saveFields = [];
        props.handleNextButtonDisabled(true);
        saveFields.push(field);
        rsssl_api.setFields(saveFields).then(( response ) => {
            props.updateFields(response.fields);
            disabled.current = false;
            props.handleNextButtonDisabled(false);
        });
    }

    let fieldValue = props.field.value;
    let field = props.field;
    let options = [];
    if ( field.options ) {
        for (var key in field.options) {
            if (field.options.hasOwnProperty(key)) {
                let item = {};
                item.label = field.options[key];
                item.value = key;
                options.push(item);
            }
        }
    }

    return (
          <SelectControl
              label={ field.label }
              onChange={ ( fieldValue ) => onChangeHandler(fieldValue) }
              value= { fieldValue }
              options={ options }
              disabled={disabled.current}
          />
    )
}
export default Host;