2016-05-19 5 views
0

Ich erstelle eine benutzerdefinierte Ploymer-Komponente und Dygraph verwenden, um ein Diagramm zu erstellen. Ich habe ein pointClickCallback für das selbe hinzugefügt.Point Click Callback von Dygraph funktioniert nicht in Polymer Shadow DOM

Wenn das Diagramm jedoch innerhalb des Schattenbereichs liegt, funktioniert clickcallback überhaupt nicht. Wenn ich das Diagramm jedoch außerhalb der benutzerdefinierten Komponente, d. H. In der index.html, platziere, funktioniert pointClickCallback gut.

EDIT:highlightCallback richtig im Inneren Schatten dom arbeiten, nicht die pointClickCallback

Kann jemand mir sagen, was das Problem sein könnte.

UPDATE

Ich bin nicht sicher, ob dies, es zu tun richtig ist aber, bitte vorschlagen. Ich tue wie unten und es funktioniert für mich

var self = this; // 'this' is not the window object 
self.pts = null; 
var g = new Dygraph(
    this.$.div_g, 
    NoisyData, { 
     rollPeriod: 7, 
     showRoller: true, 

     errorBars: true, 
     highlightCallback: function(e, x, pts, row) { 
      console.log("highlightCallback --> self.pts", self.pts); 
      console.log("highlightCallback", pts); 
      self.pts = pts; 
      console.log("highlightCallback --> self.pts", self.pts); 
     }, 
     interactionModel : { 
      'click' : function(e) { 
       console.log("click", e, self.pts); 
      } 
     }, 
    } 
); 

Antwort

0

Die pointClickCallback nicht in die interactionModel gehen nicht aber bascially auf dem gleichen Niveau wie die highlightCallback. So Ihr Code sollte wie folgt aussehen:

var g = new Dygraph(
    this.$.div_g, 
    NoisyData, { 
     rollPeriod: 7, 
     showRoller: true, 

     errorBars: true, 
     highlightCallback: function(e, x, pts, row) { 
      console.log("highlightCallback --> self.pts", self.pts); 
      console.log("highlightCallback", pts); 
      self.pts = pts; 
      console.log("highlightCallback --> self.pts", self.pts); 
     }, 
     pointClickCallback: function(e,pt) { 
     console.log('Point clicked'); 
     }, 
     interactionModel : { 
      'click' : function(e) { 
       console.log("click", e, self.pts); 
      } 
     }, 
    } 
); 
+0

ja genau 'pointClickCallback' auf demselben Niveau wie' highlightCallback', aber als ich in der Frage erwähnten „highlightCallback ordnungsgemäß funktioniert innerhalb Schatten dom, nicht die pointClickCallback“ . Daher habe ich 'interactionModel' verwendet – Roy

+0

Ich sehe, es sollte keinen Grund geben, warum es nicht funktionieren sollte. Kommt dies in Shadow DOM oder ShadyDOM vor? Mit meinem Polymer-Wrapper für dygraphs funktioniert die PointClickCallback gut (https://github.com/timeu/dy-graphs) –