feat(client): ✨ add form settings handler
This commit is contained in:
parent
8d561f14c3
commit
75959df9c2
|
@ -18,11 +18,12 @@
|
|||
adresse IP ainsi que lui indiquer la distance à parcourir ou l'angle
|
||||
de rotation désiré.
|
||||
</p>
|
||||
<form class="settings" onsubmit="setEndpoint()">
|
||||
<form class="settings" id="settings">
|
||||
<label>
|
||||
<span>Adresse IP du robot</span>
|
||||
<input
|
||||
type="text"
|
||||
name="ip-address"
|
||||
title="Adresse IP du robot (ex: 192.168.0.1)"
|
||||
pattern="\d+\.\d+\.\d+\.\d+"
|
||||
placeholder="192.168.0.0"
|
||||
|
@ -84,11 +85,47 @@
|
|||
console.log(text)
|
||||
}
|
||||
|
||||
document.addEventListener('keydown', (event) => {
|
||||
const key = event.keyCode
|
||||
const { command, value } = keyMap[key]
|
||||
sendCommand(endpoint, command, value)
|
||||
})
|
||||
/**
|
||||
* Get robot endpoint address.
|
||||
*
|
||||
* @returns {string}
|
||||
*/
|
||||
function getEndpoint() {
|
||||
const endpoint = sessionStorage.getItem('robot-endpoint')
|
||||
if (endpoint === null) {
|
||||
alert("Aucune adresse IP n'a été renseignée !")
|
||||
throw new Error('no given ip address')
|
||||
}
|
||||
return endpoint
|
||||
}
|
||||
|
||||
/**
|
||||
* Set robot endpoint address.
|
||||
*
|
||||
* @param {string} ip Robot ip.
|
||||
*
|
||||
* @returns void
|
||||
*/
|
||||
function setEndpoint(ip) {
|
||||
sessionStorage.setItem('robot-endpoint')
|
||||
}
|
||||
|
||||
document
|
||||
.querySelector('#settings')
|
||||
.addEventListener('submit', (event) => {
|
||||
// Don't interrupt event if not form submitting
|
||||
if (!(event instanceof SubmitEvent)) return true
|
||||
if (event.target === null) return true
|
||||
// Disable form sending
|
||||
event.preventDefault()
|
||||
|
||||
const form = new FormData(event.target)
|
||||
const ipAddress = form.get('ip-address')
|
||||
|
||||
if (ipAddress === null) return
|
||||
|
||||
setEndpoint(`http://${ipAddress}`)
|
||||
})
|
||||
|
||||
function storeInput() {
|
||||
ipInput = document.getElementById('ip').value
|
||||
|
|
Loading…
Reference in a new issue