mirror of
https://github.com/stagehacks/Cue-View.git
synced 2026-08-03 04:47:47 +00:00
216 lines
4.7 KiB
JavaScript
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);
|
|
}
|
|
|
|
|
|
|