3

In our application, we are using D3.js to dynamically altering SVG components using the code as below.

    linkContainer.selectAll("line").remove();        
    var link = self.drawLinks(linkContainer, links);        
    self.context.nodeContainer.selectAll("g").remove();

Here, once we enable locker service, i think we can't grab line tags and thus selectAll function in not valid anymore. We are facing below error.

   Error in $A.getCallback() [linkContainer.selectAll is not a function]

Thanks for helping on this one.

5
  • 1
    D3 wasn't working several months ago - salesforce.stackexchange.com/questions/143697/….
    – Keith C
    Jan 31 '17 at 17:40
  • 2
    It seems, we have to modify d3.Js file or move our implemention on new version I.e. Ver 4.x. Jan 31 '17 at 18:44
  • If you have a good list of which versions of which libraries work with locker service, please post as an answer and it'll get my +1.
    – Keith C
    Jan 31 '17 at 19:04
  • @ThisIsRSN Is this working as expected after upgrading D3 versions? Feb 3 '17 at 18:30
  • @ThisIsRSN If this is not working after upgrading to version 4.x of D3, can you provide your markup and enough info to reproduce the issue locally so we can investigate. Feb 14 '17 at 18:02

Your Answer

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

Browse other questions tagged or ask your own question.