Fonction de bouton personnalisé jQuery Summernote

J'ai un jsFiddle ici -> http://jsfiddle.net/cm910t89/2/

J'ai créé un bouton personnalisé dans Summernote de l'Éditeur WYSIWYG et je n'arrive pas à obtenir ma fonction fonctionne correctement à l'intérieur du plugin.

Je veux que l'utilisateur soit en mesure de mettre en évidence (ou sélectionnez-les à l'aide de son curseur) n'importe quel texte dans l'éditeur, puis cliquez sur mon bouton personnalisé qui se terminera que le texte sélectionné dans un span de la balise avec une classe spéciale de "snote'.

Droit maintenant, je peux enrouler sélectionnés dans une balise span avec cette classe, mais l'ensemble de la mise en forme au sein de l'éditeur est effacée.

Quelqu'un peut-il aider à ce que le texte sélectionné s'amalgament dans la balise span ET la mise en forme reste la même?

jsFiddle -> http://jsfiddle.net/cm910t89/2/

$(document).ready(function() {
var editor = $('#summernote');
editor.summernote({
    height: ($(window).height() - 250),
    focus: false,
    toolbar: [
            ['style', ['bold', 'italic', 'underline', 'clear']],
            ['font', ['strikethrough']],
            ['fontsize', ['fontsize']],
            ['para', ['ul', 'ol', 'paragraph']],
            ['height', ['height']],
            ['view', ['fullscreen', 'codeview']],
        ],
    oninit: function() {
        //Add "open" - "save" buttons
        var noteBtn = '<button id="makeSnote" type="button" class="btn btn-default btn-sm btn-small" title="Identify a music note" data-event="something" tabindex="-1"><i class="fa fa-music"></i></button>';            
        var fileGroup = '<div class="note-file btn-group">' + noteBtn + '</div>';
        $(fileGroup).appendTo($('.note-toolbar'));
        //Button tooltips
        $('#makeSnote').tooltip({container: 'body', placement: 'bottom'});
        //Button events
        $('#makeSnote').click(function(event) {
            var highlight = window.getSelection(),  
            spn = '<span class="snote" style="color:blue;">' + highlight + '</span>',
            text = $('.note-editable').children('p').text(),
            range = highlight.getRangeAt(0),
            startText = text.substring(0, range.startOffset), 
            endText = text.substring(range.endOffset, text.length);

            $('.note-editable').html(startText + spn + endText);
        });
     },

});

source d'informationauteur Sanya