simplyfy code svg value mqtt

This commit is contained in:
2025-09-29 16:38:00 +07:00
parent 6de6d35a6b
commit b73abf2fa2
2 changed files with 23 additions and 37 deletions

View File

@@ -64,36 +64,28 @@ const listenMessage = (callback) => {
});
};
const listenMessageState = (setState) => {
const setValSvg = (listenTopic, svg) => {
client.on('message', (topic, message) => {
const msgObj = {
date: new Date().toLocaleString(),
topic: topic,
msg: JSON.parse(message),
};
setState(msgObj);
if (topic == listenTopic) {
const objChanel = JSON.parse(message);
Object.entries(objChanel).forEach(([key, value]) => {
// console.log(key, value);
const el = svg.getElementById(key);
if (el) {
if (value === true) {
el.style.display = ''; // sembunyikan
} else if (value === false) {
el.style.display = 'none';
} else if (!isNaN(value)) {
el.textContent = Number(value ?? 0.0);
} else {
el.textContent = value;
}
}
});
}
});
};
const setValSvg = (msgValue, topic, svg) => {
if (msgValue.topic == topic) {
const objChanel = msgValue?.msg;
Object.entries(objChanel).forEach(([key, value]) => {
// console.log(key, value);
const el = svg.getElementById(key);
if (el) {
if (value === true) {
el.style.display = ''; // sembunyikan
} else if (value === false) {
el.style.display = 'none';
} else if (!isNaN(value)) {
el.textContent = Number(value ?? 0.0);
} else {
el.textContent = value;
}
}
});
}
};
export { publishMessage, listenMessage, listenMessageState, setValSvg };
export { publishMessage, listenMessage, setValSvg };