기존의 버전에서 버그가 있었는데요
$('#summernote').summernote('pasteHTML', '<p>aaa</p><p>bbb</p><p>ccc</p>');
이렇게 코딩을 작성하면
예상하기론
aaa
bbb
ccc
를 기대하게 되는데
실제로는
ccc
bbb
aaa
이렇게 나오는 버그가 있었는데
0.8.11 버전의 pasteHtml 입니다
WrappedRange.prototype.pasteHTML = function (markup) {
var contentsContainer = $$1('<div></div>').html(markup)[0];
var childNodes = lists.from(contentsContainer.childNodes);
var rng = this.wrapBodyInlineWithPara().deleteContents();
if (rng.so >= 0) {
childNodes = childNodes.reverse();
}
childNodes = childNodes.map(function (childNode) {
return rng.insertNode(childNode);
});
if (rng.so > 0) {
childNodes = childNodes.reverse();
}
return childNodes;
};
0.8.12 버전의 pasteHtml 입니다
WrappedRange.prototype.pasteHTML = function (markup) {
var contentsContainer = $$1('<div></div>').html(markup)[0];
var childNodes = lists.from(contentsContainer.childNodes);
var rng = this.wrapBodyInlineWithPara().deleteContents();
if (rng.so > 0) {
childNodes = childNodes.reverse();
}
childNodes = childNodes.map(function (childNode) {
return rng.insertNode(childNode);
});
if (rng.so > 0) {
childNodes = childNodes.reverse();
}
return childNodes;
};
하늘색 음영부분이 수정되었는데요
if(rng.so >= 0) {
이 부분이
if(rng.so > 0) {
이렇게 바뀌었네요
해당부분을 위와 같이 수정해서 사용하고 있었는데
패치되어 새버전이 배포되었네요
과거버전 쓰시던 분이나 해당버그로 고생하시는 분들은 새로 받아 적용시켜보시면 이쁘게 나올겁니다
그리고 pasteHtml은 기존 에디터작업에 append를 해주는데 pasteHtml하는 내용으로 replace를 해주고싶다 하면
$('#summernote').summernote('code', '');
$('#summernote').summernote('pasteHTML', '<p>aaa</p><p>bbb</p><p>ccc</p>');
이런식으로 추가해주면 초기화시킨후 새로 HTML을 넣어줄 수 있습니다