2016-03-28 5 views
0

Es scheint ein Problem mit Tabview und Texteditor Integration. Der Editor wird angezeigt und funktioniert einwandfrei, solange der Benutzer nicht zwischen den Registerkarten wechselt. Wenn der Benutzer die Registerkarte wechselt und zu der Registerkarte zurückkehrt, auf der der Texteditor integriert ist, verschwindet der Inhalt des Editors und reagiert nicht mehr (Text kann nicht eingegeben werden).Webix: Text Editor Integrationsproblem mit tabview

Ich habe dies mit den folgenden Editoren mit unterschiedlichen Ergebnissen getestet:

  • ckeditor - Wert zurückgesetzt wird, Komponente
  • tinymce irresponsive wird - Wert zurückgesetzt wird, Komponente irresponsive
  • Quecksilber wird - Wert ist Reset, aber Komponente funktioniert (Sie können Text neu eingeben).
  • nicedit - Funktioniert!

Hier ist Beispielcode Definition.

webix.ui({ 
    container: 'richtext-div', 
    view: "tabview", 
    cells:[{ 
     header: 'Tab 1', 
     view: 'form', 
     elements: [{ 
      view: 'ckeditor', 
      width: 800, 
      height: 500, 
      value: 'This is a test value for the rich text component' 
     }] 
    },{ 
     header: 'Tab 2', 
     rows: [{ 
      template: 'This is the second tab' 
     }] 
    }] 
}); 

Jeder hat dieses Problem zuvor gelöst, bitte beraten. Tnx. Lefteris

Antwort

0

Wissen Sie, wie Webix das Wechseln von Tabs behandelt?

Ich vermute, dass, wenn die Registerkarten geschaltet werden, dass es versehentlich das TinyMCE zugrundeliegende DOM-Element zerstört und ein neues macht, wenn Sie zurückkommen?

Wenn Sie den "Tab" mit TinyMCE verlassen, müssen Sie wahrscheinlich remove() TinyMCE, bevor Sie den Tab verlassen. Wenn Sie zu der Registerkarte zurückkehren, müssen Sie erneut den Editor init(). Dies ist ein häufiges Problem bei Web-UIs, die DOM-Elemente bei geöffnetem Editor ein-/ausblenden oder zerstören.

+0

Ja, Sie haben Recht. Die unsichtbare Registerkarte wird aus dom entfernt, was iframe-basierte Rich-Editoren unterbricht. – Aquatic