cabana: fix message name change and re-instantiate es6 class after webworker does its thing

main
Andy Haden 2017-06-30 20:12:47 -07:00
parent 8e9ae7d5ff
commit ee15e2dd38
4 changed files with 13 additions and 7 deletions

View File

@ -234,6 +234,7 @@ export default class CanExplorer extends Component {
worker.onmessage = (e) => {
const newMessage = e.data;
newMessage.signals = dbc.getSignals(newMessage.address);
newMessage.frame = dbc.messages.get(newMessage.address);
const messages = {};
Object.assign(messages, this.state.messages);
@ -263,6 +264,7 @@ export default class CanExplorer extends Component {
msg.frame = this.state.dbc.createFrame(msg.address);
}
this.setState({showEditMessageModal: true,
editMessageModalMessage: msgKey,
messages: this.state.messages});

View File

@ -123,6 +123,7 @@ const Styles = StyleSheet.create({
backgroundColor: 'black',
height: '100%',
position: 'absolute',
cursor: 'pointer',
},
nudge: {
width: 48,

View File

@ -161,10 +161,14 @@ export default class SignalLegendEntry extends Component {
updateField(fieldSpec, value) {
let {signalEdited} = this.state;
if(fieldSpec.transform) {
signalEdited = fieldSpec.transform(value, signalEdited);
} else {
signalEdited[fieldSpec.field] = value;
if(typeof fieldSpec === 'object') {
if(fieldSpec.transform) {
signalEdited = fieldSpec.transform(value, signalEdited);
} else {
signalEdited[fieldSpec.field] = value;
}
} else if(typeof fieldSpec === 'string') {
signalEdited[fieldSpec] = value;
}
@ -315,8 +319,7 @@ export default class SignalLegendEntry extends Component {
}
onNameChange(e) {
const fieldSpec = SignalLegendEntry.fieldSpecForName('name');
this.updateField(fieldSpec, e.target.value);
this.updateField('name', e.target.value);
}
render() {

View File

@ -155,7 +155,7 @@ export default class Meta extends Component {
Styles.selectedMessage)}
onMouseEnter={() => this.onMessageHover(key)}
onMouseLeave={() => this.onMessageHoverEnd(key)}>
{msg.frame ? msg.frame.name : ''} {key}
{msg.frame ? msg.frame.name : ''} {key}
{hoveredMessages.indexOf(key) !== -1 ? this.hoverButtons(key): null}
</li>
});