/** Implémente la télécommande JOSM Le HTML géré pourrait ressembler à : ```html ``` Où la valeur `commands` prend la forme d’un objet JSON dont chacune des entrées représente une commande à enchaîner successivement et où la clef est le chemin de la commande et la valeur un objet dont chacune des entrées représente les paramètres de la commande. Par exemple : ```json { "version": {}, "imagery": { "id": "osmfr", } } ``` Avec cette valeur de `commands`, les appels successifs aux endpoints `/version` puis `imagery?id=osmfr` seront effectués. Cf TODO Gérer le cas où il n’y a pas de JOSM en face pourrait être plus user-friendly. **/ import { Controller } from '@hotwired/stimulus'; export default class extends Controller { static values = { commands: String, } remoteControl() { const baseurl = 'http://localhost:8111'; const _this = this, commands = JSON.parse(this.commandsValue); for (var command in commands) { var url = baseurl + '/' + command, params = new URLSearchParams(); for (var name in commands[command]) { params.append(name, commands[command][name]); } if (Array.from(params.length > 0)) { url += '?' + params.toString(); } fetch(url) .then(function (response) { return response.text(); }) .then(function (text) { }); } } }