Files
Cue-View/preload.js
T
sparks-alec cbf212fbd6 remove ejs
2022-02-06 01:28:56 -05:00

181 lines
4.7 KiB
JavaScript

// const { remote } = require('electron');
const { ipcRenderer } = require('electron');
// let currWindow = remote.BrowserWindow.getFocusedWindow();
// const { v4: uuid } = require('uuid');
//const net = require('net');
const DEVICE = require('./src/device.js');
const PLUGINS = require('./src/plugins.js');
const SEARCH = require('./src/search.js');
const VIEW = require('./src/view.js');
const SAVESLOTS = require('./src/saveSlots.js');
window.addDevice = DEVICE.addDevice;
window.init = function () {
console.log('init!');
ipcRenderer.send('enableDeviceDropdown');
ipcRenderer.send('enableSearchAll');
PLUGINS.init(() => {
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();
const 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', (event, message) => {
if (!message) {
VIEW.unpinActiveDevice();
} else {
VIEW.pinActiveDevice();
}
});
ipcRenderer.on('doSearch', (event, message) => {
window.searchAll();
});
ipcRenderer.on('doDelete', (event, message) => {
DEVICE.deleteActive();
});
ipcRenderer.on('resetViews', (event, message) => {
SAVESLOTS.resetSlots();
});
ipcRenderer.on('doSlots1', (event, message) => {
SAVESLOTS.loadSlot(1);
});
ipcRenderer.on('doSlots2', (event, message) => {
SAVESLOTS.loadSlot(2);
});
ipcRenderer.on('doSlots3', (event, message) => {
SAVESLOTS.loadSlot(3);
});
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);
};