UNPKG

node-red-contrib-displayext-node

Version:

A node for software DisplayEXT

37 lines (31 loc) 1.32 kB
const fs = require("fs"); const path = require("path"); module.exports = function (RED) { function LoadDataNode(config) { RED.nodes.createNode(this, config); const node = this; // Fichier de stockage des données const dataFilePath = path.join(__dirname, "..", "dataMedia.json"); // Fonction pour charger les noms des médias sous forme [{ "nameMedia": "..." }] function loadData() { if (fs.existsSync(dataFilePath)) { try { const data = JSON.parse(fs.readFileSync(dataFilePath, "utf8")); if (Array.isArray(data)) { return data.map(item => ({ nameMedia: item.name })).filter(item => item.nameMedia); } } catch (error) { node.error("Erreur de lecture du fichier JSON", error); } } return []; // Retourne un tableau vide en cas d'erreur ou si le fichier est vide } // Réagir aux entrées node.on("input", function (msg) { if (msg.payload === "reload") { node.send({ payload: loadData() }); } }); } RED.nodes.registerType("load-dataMedia", LoadDataNode); };