Die dynamische Aktualisierung ein TinyMCE 4 ListBox

Ich versuche, ändern Sie den TinyMCE 4 "link" - plugin, um Benutzern zu erlauben, wählen Sie Inhalt von ListBox-Elementen, die dynamisch aktualisiert werden, die von AJAX-Anfragen.

Ich erstelle die ListBox-Elemente im Vorfeld der editor.windowManager.open(), so sind Sie zunächst richtig dargestellt. Ich habe eine onselect-handler, führt die AJAX-Anfrage und bekommt eine Antwort im JSON-format.

Was ich tun muss, mit der JSON-Antwort ist, um es ein weiteres update ListBox-element, ersetzt die bestehende Elemente mit den neuen Ergebnissen.

Ich bin verwirrt, und die Dokumentation ist furchtbar unklar. Ich weiß nicht, ob ich Sie ersetzen sollte, die gesamte Steuerung, oder Positionen löschen und dann neue hinzufügen. Ich weiß nicht, ob ich müssen zu instanziieren Sie ein neues ListBox-Steuerelement, oder machen Sie Sie zu HTML, etc.

Grundsätzlich habe ich Zugriff auf die original-gerendert ListBox (name: "Modul"} mit

win.find('#module');

Habe ich die neuen Werte aus der AJAX-Anfrage:

var data = tinymce.util.JSON.parse(text).data;

Und ich habe versucht, erstellen einer neuen Control-Konfiguration-Objekt, wie

newCtrlconfig = {
    type: 'listbox',
    label: 'Class',
    values: data
};

aber ich würde nicht wissen, wie Sie es machen, viel weniger Sie ersetzen die bereits vorhandenen.

Versuchte ich

var newList = tinymce.ui.Factory.create(newCtrlconfig);

dann

newList.renderHtml()

aber selbst dann, das gerenderte HTML nicht jedes markup enthalten das für die Elemente. Und die Prüfung dieser Objekte ist nur frustrierend: es gibt "Einstellungen", "Werte", "_values", "Elemente", die alle gerne auf meine Werte, aber es ist noch nicht einmal klar, welche von Ihnen funktionieren wird.

Da es eine ListBox und nicht ein einfaches SELECT-Menü, ich kann auch nicht leicht zu verwenden, um das DOM zu manipulieren-die Werte.

Hat jemand erobert den TinyMCE ListBox in 4.x?

InformationsquelleAutor spud | 2013-09-14
Schreibe einen Kommentar