diff --git a/frontend/src/sections/devices/devices-discovery.js b/frontend/src/sections/devices/devices-discovery.js index 918b74c..d7ab51a 100644 --- a/frontend/src/sections/devices/devices-discovery.js +++ b/frontend/src/sections/devices/devices-discovery.js @@ -28,9 +28,22 @@ const AccessType = { WriteOnly: 2, } +const ParamValueType = { + Unknown: 0, + Base64: 1, + Boolean: 2, + DateTime: 3, + Decimal: 4, + HexBinary: 5, + Int: 6, + Long: 7, + String: 8, + UnisgnedInt: 9, + UnsignedLong: 10, +} + function ShowParamsWithValues({x, deviceParametersValue, setOpen, setParameter, setParameterValue}) { let paths = x.supported_obj_path.split(".") - const showDialog = (param, paramvalue) => { setParameter(param); if (paramvalue == "\"\"") { @@ -75,7 +88,7 @@ function ShowParamsWithValues({x, deviceParametersValue, setOpen, setParameter, secondaryAction={
{Object.values(param)[0].value} - {Object.values(param)[0].access > 0 && + {Object.values(param)[0].access > AccessType.ReadOnly && { showDialog( @@ -120,7 +133,7 @@ function ShowParamsWithValues({x, deviceParametersValue, setOpen, setParameter, secondaryAction={
{deviceParametersValue[y.param_name].value} - {deviceParametersValue[y.param_name].access > 0 && + {deviceParametersValue[y.param_name].access > AccessType.ReadOnly && { showDialog( @@ -152,6 +165,7 @@ const router = useRouter() const [deviceParameters, setDeviceParameters] = useState(null) const [parameter, setParameter] = useState(null) const [parameterValue, setParameterValue] = useState(null) +const [parameterValueChange, setParameterValueChange] = useState(null) const [deviceParametersValue, setDeviceParametersValue] = useState({}) const [open, setOpen] = useState(false) @@ -337,8 +351,7 @@ const getDeviceParameterInstances = async (raw) =>{ console.log("content:",content) - let values = {} - let multiInstanceParamsInfo = {} + let paramsInfo = {} let supportedParams = content.req_obj_results[0].supported_objs[0].supported_params let parametersToFetch = () => { @@ -352,14 +365,14 @@ const getDeviceParameterInstances = async (raw) =>{ let paths = supported_obj_path.split(".") if (paths[paths.length -2] !== "*"){ - values[param.param_name] = { + paramsInfo[param.param_name] = { "value_change":param["value_change"], "value_type":param["value_type"], "access": param["access"], "value": "-", } }else{ - multiInstanceParamsInfo[param.param_name] = { + paramsInfo[param.param_name] = { "value_change":param["value_change"], "value_type":param["value_type"], "access": param["access"], @@ -381,8 +394,10 @@ const getDeviceParameterInstances = async (raw) =>{ let result = await getDeviceParametersValue(raw) console.log("result:", result) - - let setvalues = () => {result.req_path_results.map((x)=>{ + console.log("/-------------------------------------------------------/") + let values = {} + console.log("VALUES:",values) + result.req_path_results.map((x)=>{ if (!x.resolved_path_results){ return } @@ -390,35 +405,50 @@ const getDeviceParameterInstances = async (raw) =>{ let paths = x.requested_path.split(".") if(paths[paths.length -2] == "*"){ x.resolved_path_results.map(y=>{ - Object.keys(y.result_params).forEach((key, index) =>{ - if (!values[y.resolved_path]){ - values[y.resolved_path] = [] - } - if (y.result_params[key] == ""){ - y.result_params[key] = "\"\"" - } - multiInstanceParamsInfo[key].value = y.result_params[key] - let obj = {}; - obj[key] = multiInstanceParamsInfo[key] - values[y.resolved_path].push(obj) - }) + console.log(y.result_params) + console.log(y.resolved_path) + let key = Object.keys(y.result_params)[0] + console.log(key) + console.log(paramsInfo[key].value) + console.log(paramsInfo[key]) + console.log(y.result_params[key]) + console.log({[key]:paramsInfo[key]}) + console.log("OLHA AQUI, tem que tar diferente:",{...paramsInfo[key], value: y.result_params[key]}) + if (!values[y.resolved_path]){ + values[y.resolved_path] = [] + } + if (y.result_params[key] == ""){ + y.result_params[key] = "\"\"" + } + values[y.resolved_path].push({[key]:{...paramsInfo[key], value: y.result_params[key]}}) + // let obj = {}; + // obj[key] = paramsInfo[key] + // obj[key].value = y.result_params[key] + // values[y.resolved_path].push({[key]:obj[key]}) + // console.log("key",key) + // console.log("obj[key]",obj[key]) + // console.log("obj[key].value",obj[key].value) + // console.log("obj",obj) + // console.log("values",values) + // console.log("values[y.resolved_path]",values[y.resolved_path]) + // console.log("y.result_params[key]",y.result_params[key]) }) }else{ Object.keys(x.resolved_path_results[0].result_params).forEach((key, index) =>{ if (x.resolved_path_results[0].result_params[key] != ""){ - values[key].value = x.resolved_path_results[0].result_params[key] + paramsInfo[key].value = x.resolved_path_results[0].result_params[key] }else{ - values[key].value = "\"\"" + paramsInfo[key].value = "\"\"" } + values = paramsInfo }) } - return values - })} - console.log("VALUES:",values) - setvalues() - console.log(values) - setDeviceParametersValue(values) + console.log(values) + setDeviceParametersValue(values) + }) + + console.log("/-------------------------------------------------------/") setDeviceParameters(content) }else{ setDeviceParameters(content) @@ -446,6 +476,7 @@ const getDeviceParameterInstances = async (raw) =>{ } } + const showParameters = () => { return deviceParameters.req_obj_results.map((a,b)=>{ @@ -530,7 +561,7 @@ const getDeviceParameterInstances = async (raw) =>{ sx={{fontWeight:'bold'}} /> - { x.supported_params && + { x.supported_params && deviceParametersValue && { fullWidth variant="standard" defaultValue={parameterValue} + autoComplete='off' + onChange={(e)=>setParameterValueChange(e.target.value)} /> - +