# HG changeset patch # User Thomas Junk # Date 1558962524 -7200 # Node ID afab8d87932c667f98102b4bf02db0a98381fafd # Parent 4eefeeae03fcf1c0d92d9949bbac1bcb41242260 mixin: assume when element not in DOM width and height are 0 diff -r 4eefeeae03fc -r afab8d87932c client/src/lib/mixins.js --- 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 }; } }