Refactoring

This commit is contained in:
Scott E. Graves
2019-01-29 17:13:59 -06:00
parent a8f1724166
commit d16d417c99
5 changed files with 209 additions and 189 deletions

View File

@@ -0,0 +1,51 @@
import {Component} from 'react';
export default class extends Component {
constructor(props) {
super(props);
if (!process.versions.hasOwnProperty('electron')) {
this.ipcRenderer = ((window && window.require) ? window.require('electron').ipcRenderer : null);
}
}
handlerList = {};
ipcRenderer;
componentWillUnmount() {
if (this.ipcRenderer) {
for (let name in this.handlerList) {
if (this.handlerList.hasOwnProperty(name)) {
this.ipcRenderer.removeListener(name, this.handlerList[name]);
}
}
}
this.handlerList = {};
};
sendRequest = (name, data) => {
if (this.ipcRenderer) {
this.ipcRenderer.send(name, data);
}
};
sendSyncRequest = (name, data) => {
if (this.ipcRenderer) {
return this.ipcRenderer.sendSync(name + '_sync', data);
} else {
return {
Success: false,
Error: 'IPC not available. Running in browser?',
};
}
};
setRequestHandler = (name, callback) => {
if (this.ipcRenderer) {
this.handlerList[name] = callback;
this.ipcRenderer.on(name, callback);
}
};
};