import { useCallback, useEffect, useState } from 'react'; import { Button, Card, CardActions, CardContent, CardHeader, Divider, Stack, TextField, InputLabel, MenuItem, Select, FormControl, SvgIcon, Dialog, DialogTitle, DialogContent, DialogContentText, DialogActions, Box, IconButton } from '@mui/material'; import XMarkIcon from '@heroicons/react/24/outline/XMarkIcon'; import PaperAirplane from '@heroicons/react/24/solid/PaperAirplaneIcon'; import CircularProgress from '@mui/material/CircularProgress'; import Backdrop from '@mui/material/Backdrop'; import { useRouter } from 'next/router'; export const DevicesRPC = () => { const router = useRouter() const [open, setOpen] = useState(false); const [scroll, setScroll] = useState('paper'); const [answer, setAnswer] = useState(false) const [content, setContent] = useState('') const [age, setAge] = useState(2); const [value, setValue] = useState(`{ "param_paths": [ "Device.WiFi.SSID.[Name==wlan0].", "Device.IP.Interface.*.Alias", "Device.DeviceInfo.FirmwareImage.*.Alias", "Device.IP.Interface.1.IPv4Address.1.IPAddress" ], "max_depth": 2 }`) const handleClose = () => { setOpen(false); }; const handleOpen = () => { setOpen(true); var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); myHeaders.append("Authorization", localStorage.getItem("token")); var raw = value var requestOptions = { method: 'PUT', headers: myHeaders, body: raw, redirect: 'follow' }; var method; switch(age) { case 1: method="add" break; case 2: method="get" break; case 3: method="set" break; case 4: method="del" break; } fetch(`${process.env.NEXT_PUBLIC_REST_ENPOINT}/device/${router.query.id[0]}/${method}`, requestOptions) .then(response => response.text()) .then(result => { setOpen(false) setAnswer(true) let teste = JSON.stringify(JSON.parse(result), null, 2) console.log(teste) setContent(teste) }) .catch(error => console.log('error', error)); }; const handleChangeRPC = (event) => { setAge(event.target.value); switch(event.target.value) { case 1: setValue(`{ "allow_partial": true, "create_objs": [ { "obj_path": "Device.IP.Interface.", "param_settings": [ { "param": "Alias", "value": "test", "required": true } ] } ] }`) break; case 2: setValue(`{ "param_paths": [ "Device.WiFi.SSID.[Name==wlan0].", "Device.IP.Interface.*.Alias", "Device.DeviceInfo.FirmwareImage.*.Alias", "Device.IP.Interface.1.IPv4Address.1.IPAddress" ], "max_depth": 2 }`) break; case 3: setValue(` { "allow_partial":true, "update_objs":[ { "obj_path":"Device.IP.Interface.[Alias==pamonha].", "param_settings":[ { "param":"Alias", "value":"goiaba", "required":true } ] } ] }`) break; case 4: setValue(`{ "allow_partial": true, "obj_paths": [ "Device.IP.Interface.3." ] }`) break; default: // code block } }; const handleChange = (event) => { setValue(event.target.value); }; const handleSubmit = useCallback( (event) => { event.preventDefault(); }, [] ); return (
); };