Mercurial > gemma
diff client/src/lib/mixins.js @ 3478:afab8d87932c
mixin: assume when element not in DOM width and height are 0
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Mon, 27 May 2019 15:08:44 +0200 |
parents | 7bbab09cdf71 |
children | 5c4f117d8f98 |
line wrap: on
line diff
--- a/client/src/lib/mixins.js Mon May 27 13:58:19 2019 +0200 +++ b/client/src/lib/mixins.js Mon May 27 15:08:44 2019 +0200 @@ -35,10 +35,9 @@ methods: { getDimensions({ main, nav }) { //dimensions and margins - const svgWidth = document.querySelector("#" + this.containerId) - .clientWidth; - const svgHeight = document.querySelector("#" + this.containerId) - .clientHeight; + const elem = document.querySelector("#" + this.containerId); + const svgWidth = elem ? elem.clientWidth : 0; + const svgHeight = elem ? elem.clientHeight : 0; const mainMargin = main || { top: 20, right: 20, bottom: 110, left: 80 }; const navMargin = nav || { top: svgHeight - mainMargin.top - 65, @@ -46,9 +45,9 @@ bottom: 30, left: 80 }; - const width = +svgWidth - mainMargin.left - mainMargin.right; - const mainHeight = +svgHeight - mainMargin.top - mainMargin.bottom; - const navHeight = +svgHeight - navMargin.top - navMargin.bottom; + const width = Number(svgWidth) - mainMargin.left - mainMargin.right; + const mainHeight = Number(svgHeight) - mainMargin.top - mainMargin.bottom; + const navHeight = Number(svgHeight) - navMargin.top - navMargin.bottom; return { width, mainHeight, navHeight, mainMargin, navMargin }; } }