They've changed their default settings, this changes a lot of stuff in our code base.
66 lines
1.5 KiB
JavaScript
66 lines
1.5 KiB
JavaScript
import React, { useState, useEffect } from "react";
|
|
import PropTypes from "prop-types";
|
|
|
|
import { FormModal } from "../forms/modal";
|
|
import { FormInput } from "../forms/input";
|
|
|
|
export const PolochonEdit = ({
|
|
show,
|
|
setShow,
|
|
id,
|
|
title,
|
|
icon,
|
|
initialName,
|
|
initialUrl,
|
|
initialToken,
|
|
update,
|
|
}) => {
|
|
const [name, setName] = useState(initialName);
|
|
const [url, setUrl] = useState(initialUrl);
|
|
const [token, setToken] = useState(initialToken);
|
|
|
|
useEffect(() => {
|
|
setName(initialName);
|
|
setUrl(initialUrl);
|
|
setToken(initialToken);
|
|
}, [id, initialName, initialUrl, initialToken]);
|
|
|
|
const handleSubmit = () => {
|
|
update({ id, name, url, token });
|
|
setShow(false);
|
|
};
|
|
|
|
return (
|
|
<FormModal
|
|
show={show}
|
|
setShow={setShow}
|
|
title={title}
|
|
icon={icon}
|
|
handleSubmit={handleSubmit}
|
|
>
|
|
<FormInput label="Name" value={name} updateValue={setName} />
|
|
<FormInput label="URL" value={url} updateValue={setUrl} />
|
|
<FormInput label="Token" value={token} updateValue={setToken} />
|
|
</FormModal>
|
|
);
|
|
};
|
|
PolochonEdit.propTypes = {
|
|
show: PropTypes.bool,
|
|
title: PropTypes.string,
|
|
icon: PropTypes.string,
|
|
setShow: PropTypes.func,
|
|
update: PropTypes.func,
|
|
id: PropTypes.string,
|
|
initialName: PropTypes.string,
|
|
initialUrl: PropTypes.string,
|
|
initialToken: PropTypes.string,
|
|
};
|
|
PolochonEdit.defaultProps = {
|
|
id: "",
|
|
title: "Edit",
|
|
icon: "edit",
|
|
initialName: "",
|
|
initialUrl: "",
|
|
initialToken: "",
|
|
};
|