diff --git a/app/apps/core/static/js/edit/components/base_panel.js b/app/apps/core/static/js/edit/components/base_panel.js index a00e9c9b69a19d3652d4fbcb38bb7ff77183c36e..cfc1ee8d1ee10ea52bed2e79360ef62adc9c51c7 100644 --- a/app/apps/core/static/js/edit/components/base_panel.js +++ b/app/apps/core/static/js/edit/components/base_panel.js @@ -5,6 +5,13 @@ const BasePanel = Vue.extend({ ratio: 1 }; }, + watch: { + 'part.loaded': function(n, o) { + if (this.part.loaded) { + this.refresh(); + } + } + }, methods: { setRatio() { this.ratio = this.$el.firstChild.clientWidth / this.part.image.size[0]; diff --git a/app/apps/core/static/js/edit/components/visu_line.js b/app/apps/core/static/js/edit/components/visu_line.js index 9bb6456cbc00e4cd71a154e41b16e442bdc8a190..ad2e1482d963ae00106a395b68ca15be1a5af379 100644 --- a/app/apps/core/static/js/edit/components/visu_line.js +++ b/app/apps/core/static/js/edit/components/visu_line.js @@ -29,7 +29,6 @@ const visuLine = LineBase.extend({ this.textElement.style.fontSize = lineHeight * (1/2) + 'px'; return 10+'px'; }, - computeTextLength() { if (!this.line.currentTrans) return; content = this.line.currentTrans.content; @@ -61,7 +60,6 @@ const visuLine = LineBase.extend({ textPathId() { return this.line ? 'textPath'+this.line.pk : ''; }, - maskStrokeColor() { if (this.line.currentTrans && this.line.currentTrans.content) { return 'none'; @@ -73,7 +71,6 @@ const visuLine = LineBase.extend({ if (this.line == null || !this.line.mask) return ''; return this.line.mask.map(pt => Math.round(pt[0]*this.ratio)+','+Math.round(pt[1]*this.ratio)).join(' '); }, - fakeBaseline() { // create a fake path based on the mask, var min = this.line.mask.reduce((minPt, curPt) => (curPt[0] < minPt[0]) ? curPt : minPt); diff --git a/app/apps/core/static/js/edit/components/visu_panel.js b/app/apps/core/static/js/edit/components/visu_panel.js index 01871e6719239515791d61e1cceceb544bfaecc5..16e2394ce5b3217def92c53bebb414302e24b934 100644 --- a/app/apps/core/static/js/edit/components/visu_panel.js +++ b/app/apps/core/static/js/edit/components/visu_panel.js @@ -30,14 +30,17 @@ const VisuPanel = BasePanel.extend({ this.editLine = this.part.lines[index - 1]; } }, + resetLines() { + if (this.part.lines.length) { + this.$refs.visulines.forEach(function(line) { + line.reset(); + }); + } + }, updateView() { this.$el.querySelector('svg').style.height = Math.round(this.part.image.size[1] * this.ratio) + 'px'; Vue.nextTick(function() { - if (this.part.lines.length) { - this.$refs.visulines.forEach(function(line) { - line.reset(); - }); - } + this.resetLines(); }.bind(this)); } }