środa, 28 października 2015

ckEditor Bootstrap modal - znikający edytor

Przy implementacji pewnej strony miałem następujący scenariusz:
1. Po kliknięci w przycisk uruchamiało się okno modalne boostrap modal
2. Do tego okna był ładowany dynamicznie przez ajax'a partial view, który zawierał ckEditor

Wszystko działało prawie ok. Problem był  następujący. Gdy drugi raz kliknęło się w przycisk i ładował się partial view, ckEditor znikał. rozwiązaniem okazało się być zaimplementowanie następującego kodu w partial view (najpierw szukamy czy istnieje już instancja ckEditor'a i jeśli istnieje niszymy ją, następnie ładujemy podownie ckEditor):

<script type="text/javascript">
    var editor = CKEDITOR.instances.EmailContent;
    if (editor) { editor.destroy(true); }
    CKEDITOR.replace('EmailContent');
</script>