2013-01-16 17 views
6

Chcę wprowadzić rozszerzenia do CodeMirror. Metoda addWidget wydaje się obiecującym punktem wyjścia. Dokumentacja stwierdzaCodeMirror - co to jest addWidget i jak z niego korzystać?

addWidget (POS, węzeł, scrollIntoView) Stawia węzeł, który powinien być umieszczony absolutnie węzeł DOM, do edytora, umieszczony tuż poniżej danej linii, CH {} pozycji. Kiedy scrollIntoView ma wartość true, edytor zapewnia, że ​​cały węzeł jest widoczny (jeśli to możliwe). Aby usunąć ponownie widget, po prostu użyj metod DOM (przenieś go gdzieś lub zadzwoń removeChild na jego rodzica).

Nie do końca rozumiem, co to oznacza lub do czego bym go użył. Nie mogę znaleźć jego użycia w CodeMirror codebase ani nigdzie indziej w google.

Odpowiedz

3

Trzeba zdać węzła HTML oraz pozycję i wartość logiczną

// create a node 
var htmlNode =document.createElement("h1"); 
var text = document.createTextNode("Text or whatever"); 
htmlNode.appendChild(text) 

// call this after you initialized the editor. 
// the position must be like this {ch: YourCharecterNumber, line: YourLineNumber} 
editor.addWidget({ch:30 , line: 1},htmlNode, true) 
+0

Prawo, rozumiem podpis metody, co nie jestem pewien co chciałbym użyć tego do. Co to robi? Co to jest przypadek użycia? –

+0

Użyłem go do dodania niestandardowego widżetu autouzupełniania. – aljordan82

+0

Więc używasz go, aby dodać więcej elementów DOM w określonej lokalizacji w edytorze? Jak to działało dla twojego autouzupełniania? Czy nie musiałbyś dodawać widgetu, w którym aktualnie znajduje się kursor (zakładam, że był to znany sposób wykonywania autoprzepływania przez wyskakujące okienko)? –

Powiązane problemy