4

Multiple Highcharts component is not rendering when Locker Service is activated. The individual Highcharts rendering issue was solved after the Patch 12.1 update from the Salesforce in the Winter '17.

But the old Highcharts error 16 issue still persists when we try to load multiple Highcharts components.

I've created created an unmanaged package for replicating the issue when Locker Service is Active.

Details of the unmanaged package:-

There are three main Lightning components viz. Test, firstChart and secondChart.

firstChart and secondchart component comprises of Highcharts. I've put both of these components inside the main component, ie., in this case, Test.

When Locker Service is active only one of them is rendered. Whereas when Locker Service is deactivated, both of them are being rendered whose screenshots are as below.

When Locker Service is Active:-

Only one chart is being rendered when LS is active

When Locker Service is Deactivated:-

Both the charts are being rendered when LS is deactivated

PS: My use case is using the independent chart components in multiple places inside the app. I've created such a package only to replicate the same issue.

  • That is progress. Unfortunately I only now noticed on the original post that a moderator decided to delete my answer because it should have been a comment: "How are you loading the Highcharts js files? Are you using ltng:require?" Do you have a case open on this? Unlike the secure virtual DOM issues that have now been corrected this one should be easy enough to address. There was a bug in ltng:require under Locker that was not insuring once and only once loading semantics but that also has been fixed. – Doug Chasman Nov 9 '16 at 13:11
  • ... I am installing the package above to take a closer look - we will get this resolved ASAP. – Doug Chasman Nov 9 '16 at 13:17
  • 1
    Excellent repro case @SE_User - providing that unmanaged package is always such a help! I can see that all scripts are loaded using ltng:require (very good) - digging into this more now. Do you have a case on this yet? – Doug Chasman Nov 9 '16 at 13:37
4

The problem is a bug in ltng:require that has been fixed in Spring'17 already but has not yet been back ported to Winter'17 patch. I am looking into getting this fast tracked into the next Winter'17 patch that deploys to production Tuesday. This is being tracked by W-3461135.

  • Thank you so much @DougChasman for confirming the issue and for the reference number to track the same. Ok, waiting for the patch to be deployed to production. Once again, thanks a lot for looking into this. – SE_User Nov 10 '16 at 4:53
  • 1
    You are very welcome - and thank you for your patience! I can confirm that I committed the back port of the fix for ltng:require to Spring'17 .14 patch last night and it is scheduled to deploy to production Tues/Wed depending on instance. – Doug Chasman Nov 10 '16 at 12:39
  • Hi @DougChasman Eventhough error #16 has been resolved, there's still error when you click on the graph. [NoErrorObjectAvailable] TypeError: properties can only be defined on Objects. – SE_User Nov 22 '16 at 10:28
  • Hi @DougChasman Highcharts Error #16 is present in Microsoft Edge browser in windows Desktop. – SE_User Dec 14 '16 at 12:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.