|
@@ -1,7 +1,7 @@
|
|
|
export default {
|
|
|
template: `
|
|
|
<div style="position:relative">
|
|
|
- <img :src="src" style="width:100%; height:100%;" v-on="onEvents" draggable="false" />
|
|
|
+ <img :src="computed_src" style="width:100%; height:100%;" v-on="onEvents" draggable="false" />
|
|
|
<svg style="position:absolute;top:0;left:0;pointer-events:none" :viewBox="viewBox">
|
|
|
<g v-if="cross" :style="{ display: cssDisplay }">
|
|
|
<line :x1="x" y1="0" :x2="x" y2="100%" stroke="black" />
|
|
@@ -18,9 +18,19 @@ export default {
|
|
|
x: 100,
|
|
|
y: 100,
|
|
|
cssDisplay: "none",
|
|
|
+ computed_src: undefined,
|
|
|
};
|
|
|
},
|
|
|
+ mounted() {
|
|
|
+ setTimeout(() => this.compute_src(), 0); // NOTE: wait for window.path_prefix to be set in app.mounted()
|
|
|
+ },
|
|
|
+ updated() {
|
|
|
+ this.compute_src();
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ compute_src() {
|
|
|
+ this.computed_src = (this.src.startsWith("/") ? window.path_prefix : "") + this.src;
|
|
|
+ },
|
|
|
updateCrossHair(e) {
|
|
|
this.x = (e.offsetX * e.target.naturalWidth) / e.target.clientWidth;
|
|
|
this.y = (e.offsetY * e.target.naturalHeight) / e.target.clientHeight;
|