in src/main/js/routes/layout/configuration.js [4:63]
function Configuration({loadedVespaState}) {
function clusterRoutingConfigurationMap() {
const initialState = new Map();
loadedVespaState
.container
.clusters
.forEach(cluster => {
// const clusterName = cluster.name
const routingSearchParameterName = routingSearchParamName(cluster.name)
if (searchParams.has(routingSearchParameterName)) {
initialState.set(cluster.name, searchParams.get(routingSearchParameterName))
} else {
initialState.set(cluster.name, '')
}
})
return initialState
}
function handleChange(event) {
const clusterName = event.target.id
const value = event.target.value
const newRoutingConf = new Map(routingConfigurationState)
newRoutingConf.set(clusterName, value)
setRoutingConfigurationState(newRoutingConf)
}
const [searchParams, setSearchParams] = useSearchParams();
const initialState = clusterRoutingConfigurationMap();
const [routingConfigurationState, setRoutingConfigurationState] = useState(initialState)
return <dialog id="vispana-config-modal" className="modal">
<div className="modal-box text-center bg-standout-blue border"
style={{borderColor: "#26324a"}}>
<form method="dialog">
<button id="close"
className="text-gray-400 text-sm absolute right-4 top-4">✕
</button>
</form>
<br/>
<div className="w-full">
<span>Cluster routing</span>
<form onSubmit={(event) => {
event.preventDefault();
loadedVespaState
.container
.clusters
.forEach(cluster => {
const containerName = cluster.name;
const value = event.currentTarget.elements[containerName].value
if (value) {
const route = routingSearchParamName(containerName);
searchParams.set(route, value)
} else {
const route = routingSearchParamName(containerName);
searchParams.delete(route)
}
})
setSearchParams(searchParams)
document.getElementById('vispana-config-modal').close()
}}>