Files
2019-09-29 19:47:00 -05:00

59 lines
1.2 KiB
Vue

<template>
<Stack
:frames="report.stacktrace"
:selected-frame-number="selectedFrameNumber"
@frameclick="selectedFrameNumber = $event"
/>
</template>
<script>
import Stack from '../Stack/Stack.vue';
import findKey from 'lodash/findKey';
export default {
inject: ['report'],
props: {
file: { required: false },
lineNumber: { required: false },
},
data() {
return {
selectedFrameNumber: this.report.stacktrace.length,
};
},
components: {
Stack,
},
provide() {
return {
setSelectedFrameNumber: frameNumber => (this.selectedFrameNumber = frameNumber),
};
},
created() {
this.selectFrame();
},
computed: {
selectedFrame() {
return this.report.stacktrace[this.report.stacktrace.length - this.selectedFrameNumber];
},
},
methods: {
selectFrame() {
if (this.file) {
const frameKey = findKey(this.report.stacktrace, f => f.file === this.file);
this.selectedFrameNumber =
this.report.stacktrace.length - frameKey || this.selectedFrameNumber;
}
},
},
};
</script>