-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
error from donut resize handler still bound after dom is removed #420
Comments
Yeah, there's unfortunately no unbinding on the resize handler currently. I'll see what I can do to fix this.. |
Thank you for your solution heyGalen !
BTW, morris.js is awesome :) |
Hello there, for me the error was elsewhere, as part of the "setLabels" handler. The fix was to handle the case where "text1" or "text2" were NaN: Morris.Donut.prototype.setLabels = function(label1, label2) {
var inner, maxHeightBottom, maxHeightTop, maxWidth, text1bbox, text1scale, text2bbox, text2scale;
inner = (Math.min(this.el.width() / 2, this.el.height() / 2) - 10) * 2 / 3;
maxWidth = 1.8 * inner;
maxHeightTop = inner / 2;
maxHeightBottom = inner / 3;
this.text1.attr({
text: label1,
transform: ''
});
text1bbox = this.text1.getBBox();
text1scale = Math.min(maxWidth / text1bbox.width, maxHeightTop / text1bbox.height);
if (isNaN(text1scale) || text1scale == "-Infinity") {
text1scale = "0.0";
}
this.text1.attr({
transform: "S" + text1scale + "," + text1scale + "," + (text1bbox.x + text1bbox.width / 2) + "," + (text1bbox.y + text1bbox.height)
});
this.text2.attr({
text: label2,
transform: ''
});
text2bbox = this.text2.getBBox();
text2scale = Math.min(maxWidth / text2bbox.width, maxHeightBottom / text2bbox.height);
if (isNaN(text2scale) || text2scale == "-Infinity") {
text2scale = "0.0";
}
var t = {
transform: "S" + text2scale + "," + text2scale + "," + (text2bbox.x + text2bbox.width / 2) + "," + text2bbox.y
};
return this.text2.attr(t);
}; |
Is there any plan for this to be fixed officially? I am having this issue as well. |
Hello.. i waiting for fix too. =) |
@HelloGravity solution worked for me! Hope to be integrated. |
good morning and asked whether organized this problem , I recently this is emerging as a aplicion and would like to know if you have sollucion thank you very much... |
@HelloGravity solution also worked for me |
@heyGalen Nice solution... Worked for me even if it may be Temporary. |
In my opinion this is really necessary:
|
@HelloGravity solution also worked for me, thank you a lot |
@HelloGravity Works for me too |
This worked for me, @adinapoli and @guy032 thank you very much. |
Unfortunadly not worw for me. |
I have a donut chart with resize set to true. after some actions, it is cleared from the dom. after this, resizing the browser will trigger a series of errors in the console:
Error: Invalid value for attribute transform="matrix(NaN,NaN,NaN,NaN,0,0)"
for a temporary solution I have been overriding the resize handler, adding a line to see if the element exists:
There are probably better ways to remove the handler itself, but I am not too familiar with the inner workings of Morris to implement.
The text was updated successfully, but these errors were encountered: