fix set message size

main
Joost Wooning 2022-02-14 16:53:26 +01:00
parent 7909d33aea
commit 5ea45c26ee
2 changed files with 14 additions and 8 deletions

View File

@ -83,9 +83,6 @@ export default class EditMessageModal extends Component {
value={this.state.messageFrame.size} value={this.state.messageFrame.size}
onChange={(e) => { onChange={(e) => {
const { messageFrame } = this.state; const { messageFrame } = this.state;
if (e.target.value > 8) {
return;
}
messageFrame.size = parseInt(e.target.value, 10); messageFrame.size = parseInt(e.target.value, 10);
this.setState({ messageFrame }); this.setState({ messageFrame });
}} }}

View File

@ -17,7 +17,6 @@ export default class MessageBytes extends Component {
isVisible: true, isVisible: true,
lastMessageIndex: 0, lastMessageIndex: 0,
lastSeekTime: 0, lastSeekTime: 0,
maxMessageBytes: 8,
}; };
this.onVisibilityChange = this.onVisibilityChange.bind(this); this.onVisibilityChange = this.onVisibilityChange.bind(this);
@ -31,10 +30,14 @@ export default class MessageBytes extends Component {
componentDidUpdate(prevProps) { componentDidUpdate(prevProps) {
if (prevProps.message !== this.props.message) { if (prevProps.message !== this.props.message) {
const maxMessageBytes = DbcUtils.maxMessageSize(this.props.message, this.state.maxMessageBytes); let rowCount;
this.setState({ maxMessageBytes: maxMessageBytes }); if (this.props.message.frame && this.props.message.frame.size) {
rowCount = Math.ceil(this.props.message.frame.size / 8);
} else {
rowCount = Math.ceil(DbcUtils.maxMessageSize(this.props.message, this.state.maxMessageBytes) / 8);
}
if (this.canvas) { if (this.canvas) {
this.canvas.height = Math.ceil(maxMessageBytes / 8) * 15 * window.devicePixelRatio; this.canvas.height = rowCount * 15 * window.devicePixelRatio;
} }
} }
@ -130,7 +133,13 @@ export default class MessageBytes extends Component {
this.canvas = ref; this.canvas = ref;
this.canvas.width = 160 * window.devicePixelRatio; this.canvas.width = 160 * window.devicePixelRatio;
this.canvas.height = Math.ceil(this.state.maxMessageBytes / 8) * 15 * window.devicePixelRatio; let rowCount;
if (this.props.message.frame && this.props.message.frame.size) {
rowCount = Math.ceil(this.props.message.frame.size / 8);
} else {
rowCount = Math.ceil(DbcUtils.maxMessageSize(this.props.message, this.state.maxMessageBytes) / 8);
}
this.canvas.height = rowCount * 15 * window.devicePixelRatio;
const ctx = this.canvas.getContext('2d'); const ctx = this.canvas.getContext('2d');
ctx.scale(window.devicePixelRatio, window.devicePixelRatio); ctx.scale(window.devicePixelRatio, window.devicePixelRatio);
} }