2016-04-28 19 views
1

Vor ein paar Jahren fügte ein ehemaliger Kollege ext Komponenten, speziell die Combobox, zu einem Projekt, das ich pflege, hinzu. Jetzt versuche ich a google drive picker hinzufügen, damit Benutzer Elemente von Google Drive auswählen können. Nachdem ein Benutzer den Google-Picker geladen hat, werden die Ergebnisse nicht richtig angezeigt, wenn er mit der Combobox interagiert, obwohl die XHR-Anforderung die Daten ordnungsgemäß zurückgibt. Ich sehe in der boundlist.js Datei, in der er das Objekt XTemplate schafft aber nicht dort, wo es gilt, in den Laden zu jedem Datensatz ...Warum beeinflusst die Google Drive-Auswahl die ext js-Combo-Feldvorlage?

Combobox results display before and after utilizing the google drive picker

Hat sich mit diesem Thema oder etwas ähnliches jemand umgegangen? Gibt es eine Möglichkeit, Konflikte zwischen den beiden JS-Bibliotheken zu vermeiden?

+0

Was ist ein "Google Drive-Picker"? – Alexander

+0

Kannst du eine [sencha fiddle] (http://fiddle.sencha.com) erstellen, die dein Problem anzeigt? – Alexander

+0

Alle js Fehler in einer Konsole? – serg

Antwort

2

Ich lief das gleiche Problem mit ExtJS 3.3.

Es ist weil Gdrive js Client eine Funktion zu den Array-Prototyp namens Werte hinzugefügt. Subtemplate von XTemplate die Combo hat ein Ziel „Callback“ wie folgt aus:

(function(values,parent 
/**/) { 
with(values){ return values; } 
}) 

Dieses „Rückruf“ von Ext.XTemplate Funktion erzeugt wird. Ich geändert, dass "Rückruf" wie folgt zu generieren:

(function(values,parent 
/**/) { 
if(typeof values.values != "function"){with(values){ return values; }} else {return values;} 
}) 

Grüße,
Gyula

+0

Großartig - danke! Ich fand den Platz in der 4.0.5 Quelle zu modifizieren - es ist etwas anders aber nicht übermäßig gewunden. Jetzt muss ich es nur in die kompilierte Version bringen :) –