be smarter about changing the type of a device

This commit is contained in:
sparks-alec
2022-12-28 16:32:53 -05:00
parent c92960a87f
commit 93be649ce2
2 changed files with 19 additions and 5 deletions
+9
View File
@@ -232,9 +232,18 @@ module.exports.deleteActive = function deleteActive() {
module.exports.changeActiveType = function changeActiveType(newType) {
const device = VIEW.getActiveDevice();
device.type = newType;
device.fields = {};
device.plugin = PLUGINS.all[newType];
if (PLUGINS.all[device.type].config.fields) {
PLUGINS.all[newType].config.fields.forEach((field) => {
device.fields[field.key] = field.value;
});
}
initDeviceConnection(device.id);
VIEW.draw(device);
VIEW.updateFields();
// SAVESLOTS.saveAll();
};
+10 -5
View File
@@ -211,9 +211,17 @@ function switchDevice(id) {
document.getElementById('device-settings-port').disabled = true;
}
updateFields();
ipcRenderer.send('enableDeviceDropdown', '');
ipcRenderer.send('setDevicePin', !DEVICE.all[id].pinIndex === false);
}
module.exports.switchDevice = switchDevice;
function updateFields() {
document.getElementById('device-settings-fields').innerHTML = '';
if (activeDevice.plugin.config.fields) {
if (activeDevice && activeDevice.plugin.config.fields) {
const fields = activeDevice.plugin.config.fields;
fields.forEach((field) => {
@@ -236,11 +244,8 @@ function switchDevice(id) {
}
});
}
ipcRenderer.send('enableDeviceDropdown', '');
ipcRenderer.send('setDevicePin', !DEVICE.all[id].pinIndex === false);
}
module.exports.switchDevice = switchDevice;
module.exports.updateFields = updateFields;
module.exports.getActiveDevice = function getActiveDevice() {
return activeDevice;