Files
Cue-View/preload.js
T
sparks-alec f3cb66b9f3 First Commit
2021-10-18 04:55:03 -04:00

216 lines
4.7 KiB
JavaScript

const { remote } = require('electron');
const { ipcRenderer } = require('electron');
//let currWindow = remote.BrowserWindow.getFocusedWindow();
const { v4: uuid } = require('uuid');
let ejs = require('ejs');
let net = require("net");
let DEVICE = require("./src/device.js");
let PLUGINS = require("./src/plugins.js");
let SEARCH = require("./src/search.js");
let VIEW = require("./src/view.js");
let SAVESLOTS = require("./src/saveSlots.js");
window.addDevice = DEVICE.addDevice;
window.init = function(){
console.log("init!")
ipcRenderer.send("enableDeviceDropdown");
ipcRenderer.send("enableSearchAll");
PLUGINS.init(function(){
VIEW.init();
SAVESLOTS.loadDevices();
SAVESLOTS.loadSlot(1);
});
document.getElementById("device-settings-table").onclick = function(e){
e.stopPropagation();
}
document.getElementById("device-settings-name").onchange = function(e){
e.stopPropagation();
DEVICE.changeActiveName(e.target.value)
}
document.getElementById("device-settings-plugin-dropdown").onchange = function(e){
e.stopPropagation();
DEVICE.changeActiveType(e.target.value)
}
document.getElementById("device-settings-ip").onchange = function(e){
e.stopPropagation();
DEVICE.changeActiveIP(e.target.value)
}
document.getElementById("device-settings-port").onchange = function(e){
e.stopPropagation();
DEVICE.changeActivePort(e.target.value)
}
document.getElementById("device-settings-pin").onchange = function(e){
e.stopPropagation();
if(e.target.checked){
VIEW.pinActiveDevice();
}else{
VIEW.unpinActiveDevice();
}
}
document.getElementById("save-slot-1").onclick = function(e){
e.stopPropagation();
SAVESLOTS.loadSlot(1);
}
document.getElementById("save-slot-2").onclick = function(e){
e.stopPropagation();
SAVESLOTS.loadSlot(2);
}
document.getElementById("save-slot-3").onclick = function(e){
e.stopPropagation();
SAVESLOTS.loadSlot(3);
}
document.getElementById("refresh-device-button").onclick = function(e){
e.stopPropagation();
DEVICE.refreshActive()
}
document.getElementById("device-list").onclick = function(e){
e.stopPropagation();
var deviceID = e.srcElement.id;
if(e.srcElement.id != "device-list"){
VIEW.switchDevice(deviceID);
}
}
document.getElementById("add-device-button").onchange = function(e){
DEVICE.registerDevice({
type: e.target.value,
defaultName: "New Device",
port: undefined,
addresses: []
});
e.target.selectedIndex = 0;
SAVESLOTS.saveAll();
}
document.onkeyup = function(e){
switch(e.key){
case "ArrowUp":
VIEW.selectPreviousDevice();
break;
case "ArrowDown":
VIEW.selectNextDevice();
break;
case "Tab":
if(document.activeElement.tagName!="INPUT" && document.activeElement.tagName!="SELECT"){
document.getElementById("device-settings-name").select();
}
break;
}
}
// document.getElementById("device-settings-delete").onclick = function(e){
// e.stopPropagation();
// confirm("Are you sure you want to delete device \n\""+VIEW.getActiveDevice().name+"\"?")
// }
document.getElementById("device-list-col").onclick = function(e){
try{
document.querySelector("#device-list .active-device").classList.remove("active-device");
ipcRenderer.send("disableDeviceDropdown", "");
}catch(err){
//console.log(err)
}
try{
document.getElementsByClassName("active-device-outline")[0].classList.remove("active-device-outline");
}catch(err){
//console.log(err)
}
VIEW.switchDevice();
}
}
ipcRenderer.on("setActiveDevicePinned", function(event, message){
if(!message){
VIEW.unpinActiveDevice();
}else{
VIEW.pinActiveDevice();
}
});
ipcRenderer.on("doSearch", function(event, message){
window.searchAll();
});
ipcRenderer.on("doDelete", function(event, message){
DEVICE.deleteActive();
});
ipcRenderer.on("resetViews", function(event, message){
SAVESLOTS.resetSlots();
});
ipcRenderer.on("doSlots1", function(event, message){
SAVESLOTS.loadSlot(1);
});
ipcRenderer.on("doSlots2", function(event, message){
SAVESLOTS.loadSlot(2);
});
ipcRenderer.on("doSlots3", function(event, message){
SAVESLOTS.loadSlot(3);
});
function log(type, message){
}
function switchClass(element, className){
try{
document.getElementsByClassName(className)[0].classList.remove(className);
}catch(err){
//console.log(err)
}
element.classList.add(className);
}
window.switchClass = function(element, className){
switchClass(element, className);
}