UNPKG

retro-terminaljs

Version:

Create retro terminals feeding live data.

60 lines (59 loc) 1.88 kB
const { ipcRenderer } = require('electron'); var term = document.getElementById('term'); ipcRenderer.on('pingDisplay', (event, _jsonArray) => { var jsonLength = _jsonArray.length; var i; for (i=0;i<jsonLength;i++) { var a; var childLength = Object.keys(_jsonArray[i]).length; var e; if (_jsonArray[i].type === "text") { var e = document.createElement('div'); term.appendChild(e); var eText = document.createElement('p'); e.appendChild(eText); } else if (_jsonArray[i].type === "button") { var e = document.createElement('button'); term.appendChild(e); } for (a=0;a<childLength;a++) { var namer = Object.keys(_jsonArray[i])[a]; if (namer != "type") { if (namer === "id") { e.id = _jsonArray[i][namer]; } else if (namer === "left") { e.style.left = _jsonArray[i][namer]+"%"; } else if (namer === "top") { e.style.top = _jsonArray[i][namer]+"%"; } else if (namer === "width") { e.style.width = _jsonArray[i][namer]+"%"; } else if (namer === "height") { e.style.height = _jsonArray[i][namer]+"%"; } else if (namer === "context") { if (_jsonArray[i].type === "text") { eText.innerHTML = _jsonArray[i][namer]; } else { e.innerHTML = _jsonArray[i][namer]; } } else if (namer === "textalign") { e.className = e.className + "centerAlign "; } else if (namer === "background") { if (_jsonArray[i][namer] === true) { e.className = e.className + "background "; } } } } } }); ipcRenderer.on('pingDelDisplay', (event) => { term.innerHTML = ""; }); ipcRenderer.on('pingListener', (event, type, arg) => { var _id = document.getElementById(arg); if (type === "button") { _id.addEventListener('click', function() { ipcRenderer.send('replyListener', arg, true); }); } });