current scale calculation fix by filip0v · Pull Request #308 · dabeng/OrgChart
Hi dabeng!
I corrected the calculation of the current zoom range, the current implementation does not work for all cases.
For example, for an element with the style transform: rotate (90deg) translateY (-100%) scale (2,2); an incorrect value is returned.
The thing is that the scale must be calculated from the transformation matrix according to the formula (matrix or matrix3d, not important):
scale = Math.sqrt (matrix[0] * matrix[0] + matrix[1] * matrix[1]);
jsfiddle for an example: https://jsfiddle.net/q4hjffwd/
Link with more detailed description about it: https://css-tricks.com/get-value-of-css-rotation-through-javascript/