@veecode-platform/plugin-kong-service-manager
Version:
119 lines (116 loc) • 3.91 kB
JavaScript
import React from 'react';
import StringInputList from '../StringInputList/StringInputList.esm.js';
import { Methods } from '../../../utils/enums/KongRouteMethods.esm.js';
import { Box, FormControlLabel, Checkbox } from '@material-ui/core';
const DynamicFields = (props) => {
const {
protocolDescription,
hosts,
paths,
snis,
headers,
sources,
destinations,
methods,
handleChange,
setHosts,
setPaths,
setSnis,
setHeaders,
setSources,
setDestinations,
setMethods
} = props;
const fields = protocolDescription.split(", ");
return /* @__PURE__ */ React.createElement(React.Fragment, null, fields.map((field, index) => {
switch (field.toLowerCase()) {
case "hosts":
return /* @__PURE__ */ React.createElement(Box, { key: index, sx: { p: 2 } }, /* @__PURE__ */ React.createElement(
StringInputList,
{
label: "Hosts",
buttonText: "Add",
onItemsChange: (items) => handleChange(items, setHosts),
initialItems: hosts
}
));
case "paths":
return /* @__PURE__ */ React.createElement(Box, { key: index, sx: { p: 2 } }, /* @__PURE__ */ React.createElement(
StringInputList,
{
label: "Paths",
buttonText: "Add",
onItemsChange: (items) => handleChange(items, setPaths),
initialItems: paths
}
));
case "snis":
return /* @__PURE__ */ React.createElement(Box, { key: index, sx: { p: 2 } }, /* @__PURE__ */ React.createElement(
StringInputList,
{
label: "SNIs",
buttonText: "Add",
onItemsChange: (items) => handleChange(items, setSnis),
initialItems: snis
}
));
case "headers":
return /* @__PURE__ */ React.createElement(Box, { key: index, sx: { p: 2 } }, /* @__PURE__ */ React.createElement(
StringInputList,
{
label: "Headers",
buttonText: "Add",
onItemsChange: (items) => handleChange(items, setHeaders),
initialItems: headers,
twoFields: true
}
));
case "sources":
return /* @__PURE__ */ React.createElement(Box, { key: index, sx: { p: 2 } }, /* @__PURE__ */ React.createElement(
StringInputList,
{
label: "Sources",
buttonText: "Add",
onItemsChange: (items) => handleChange(items, setSources),
initialItems: sources,
twoFields: true
}
));
case "destinations":
return /* @__PURE__ */ React.createElement(Box, { key: index, sx: { p: 2 } }, /* @__PURE__ */ React.createElement(
StringInputList,
{
label: "Destinations",
buttonText: "Add",
onItemsChange: (items) => handleChange(items, setDestinations),
initialItems: destinations,
twoFields: true
}
));
case "methods":
return /* @__PURE__ */ React.createElement(Box, { sx: { p: 2 } }, Object.values(Methods).map((method) => /* @__PURE__ */ React.createElement(
FormControlLabel,
{
key: method,
control: /* @__PURE__ */ React.createElement(
Checkbox,
{
checked: methods.includes(method),
onChange: (event) => handleChange(
event,
setMethods,
(value, checked) => checked ? [...methods, value] : methods.filter((m) => m !== value)
),
value: method
}
),
label: method
}
)));
default:
return null;
}
}));
};
export { DynamicFields as default };
//# sourceMappingURL=DynamicFields.esm.js.map