2016-06-24 11 views
0

Ich habe ein GWT-Widget (Canvas) funktioniert perfekt basierend auf fabric.js. Jetzt muss ich es in Vaadin einstecken, ich habe ein Addon gemacht, und alles funktioniert außer Benutzerereignissen (Objekt in Canvas ziehen) funktionieren aus unbekannten Gründen nicht. Es malt Objekte, aber ich kann mich nicht bewegen und mit ihnen etwas unternehmen (so wie es funktionieren sollte). Ich denke, dass es eine CSS-Regel gibt, die diese Funktionalität blockiert. Jetzt innerhalb meiner Vaadin App sieht es aus wie ein ordinales Bild (kein Cursor ändert sich, wenn Objekte auf der Leinwand schweben).Vaadin Canvas fabric.js keine Benutzerinteraktion

Der Code des "fabric.js" Teil invaadin Add-ons (GWT):

var fabricx = new $wnd.fabric.Canvas(canvas); 
    $wnd.fabricx = fabricx; 
    var rect = new $wnd.fabric.Rect({ 
     left: 100, 
     top: 100, 
     fill: 'red', 
     width: 150, 
     height: 40 
    }); 

    var rect2 = new $wnd.fabric.Rect({ 
     left: 200, 
     top: 200, 
     fill: 'green', 
     width: 150, 
     height: 40 
    }); 

    var text = new $wnd.fabric.IText("Time:\nDate:\nElse:", { 
     left: 500, 
     top: 20, 
     fontSize: 13, 
     selectable: false 
    }); 

    fabricx.add(rect); 
    fabricx.add(rect2); 
    fabricx.add(text); 

Daraus ergibt sich: enter image description here

+0

Können Sie weitere Informationen bereitstellen? Wie sehen die Fehler aus? –

+0

Keine Fehler in der Browser-Konsole. Einfach so: http://fabricjs.com/controls-customization, aber Sie können nicht wählen, drehen usw. drehen, keine Benutzerinteraktion – alex

+0

tatsächlichen Code zeigen oder schließen Sie es – AndreaBogazzi

Antwort

0

Schließlich fand ich, was dieses Problem verursacht wurde. Wenn das GWT-Modul "Composite" erweitert, sollten Sie Widgets nicht direkt über initWidget hinzufügen, sondern zuerst dem Panel hinzufügen und dann das Panel an das init-Widget übergeben. Ich habe Code für 2 Tage nach dem Zufallsprinzip geändert und die Antwort gefunden.

Verwandte Themen