Mercurial > gemma
diff client/src/components/fairway/Fairwayprofile.vue @ 3241:ecfa09241437
client: pdf-template: add a set of template-elements (fairwayprofile)
author | Fadi Abbud <fadi.abbud@intevation.de> |
---|---|
date | Fri, 10 May 2019 13:11:24 +0200 |
parents | 5240f5440b62 |
children | 246754028bf4 |
line wrap: on
line diff
--- a/client/src/components/fairway/Fairwayprofile.vue Fri May 10 12:09:24 2019 +0200 +++ b/client/src/components/fairway/Fairwayprofile.vue Fri May 10 13:11:24 2019 +0200 @@ -146,6 +146,7 @@ "waterLevels" ]), ...mapState("application", ["paneSetup"]), + ...mapState("user", ["user"]), title() { let dates = [this.selectedSurvey.date_info]; if (this.additionalSurvey) dates.push(this.additionalSurvey.date_info); @@ -267,8 +268,15 @@ this.templateData.properties.paperSize === "a3" ? 420 : 297; this.pdf.height = this.templateData.properties.paperSize === "a3" ? 297 : 210; - let defaultOffset = { x: 0, Y: 0 }, - defaultColor = "black"; + // default values if some are missing in template + let defaultFontSize = 11, + defaultWidth = 70, + defaultTextColor = "black", + defaultBorderColor = "white", + defaultBgColor = "white", + defaultRounding = 2, + defaultPadding = 2, + defaultOffset = { x: 0, y: 0 }; this.templateData.elements.forEach(e => { switch (e.type) { case "diagram": { @@ -284,7 +292,7 @@ this.addDiagramLegend( e.position, e.offset || defaultOffset, - e.color || defaultColor + e.color || defaultTextColor ); break; } @@ -292,6 +300,56 @@ this.addDiagramTitle(e.position, e.offset, e.fontsize, e.color); break; } + case "image": { + this.addImage( + e.url, + e.format, + e.position, + e.offset || defaultOffset, + e.width, + e.height + ); + break; + } + case "text": { + this.addText( + e.position, + e.offset || defaultOffset, + e.width || defaultWidth, + e.fontsize || defaultFontSize, + e.color || defaultTextColor, + e.text + ); + break; + } + case "box": { + this.addBox( + e.position, + e.offset, + e.width, + e.height, + e.rounding === 0 || e.rounding ? e.rounding : defaultRounding, + e.color || defaultBgColor, + e.brcolor || defaultBorderColor + ); + break; + } + case "textbox": { + this.addTextBox( + e.position, + e.offset || defaultOffset, + e.width, + e.height, + e.rounding === 0 || e.rounding ? e.rounding : defaultRounding, + e.padding || defaultPadding, + e.fontsize || defaultFontSize, + e.color || defaultTextColor, + e.background || defaultBgColor, + e.text, + e.brcolor || defaultBorderColor + ); + break; + } } }); }