UNPKG

@veecode-platform/plugin-kong-service-manager

Version:

119 lines (116 loc) 3.91 kB
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