Skip to content

Commit

Permalink
v2.9.1 배포
Browse files Browse the repository at this point in the history
## 2.9.1
1. 버그 수정
  * font 태그 변환시 누락된 사이즈 변환 추가 (`<font size="7">` -> `<span style="font-size:36pt">`)
  * 특정글에서 엔터 혹은 이미지삽입시 브라우저가 죽는 현상 수정
  • Loading branch information
kyungilpark committed Jul 30, 2018
1 parent e06f7e9 commit 0dbcd5f
Show file tree
Hide file tree
Showing 19 changed files with 136 additions and 76 deletions.
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
## 2.9.0
## 2.9.1
1. 버그 수정
* font 태그 변환시 누락된 사이즈 변환 추가 (`<font size="7">` -> `<span style="font-size:36pt">`)
* 특정글에서 엔터 혹은 이미지삽입시 브라우저가 죽는 현상 수정

## 2.9.0
1. 버그 수정
* IE11 한정 > 엑셀 테이블 복사붙여넣기 후 폰트변경시 테이블이 깨짐
* IE_Edge 한정 > 텍스트 일부 선택 후 url 적용시 적용이 안되는 버그 수정
* FF > 인용구 삽입 후 커서가 사라지는 버그 수정
* IE엣지/FF > ctrl+a로 전체선택 삭제 후 엔터시 바로 줄바꿈되지 않는 문제 수정
2. 기능 개선
* 다국어 처리
* 한 페이지에 짝수 개의 에디터를 생성하는 경우, 툴바의 '더보기' 버튼이 동작하지 않음
Expand All @@ -11,6 +17,7 @@
* $H.prototype.length 비교로직 오류 수정
* CORS Ajax 기능 추가
* Mac에서 ctrl조합 단축키 모두 meta조합으로 변경
* 붙여넣기플러그인 개선

※ 오픈소스 배포 재개
* 오픈소스 github 이전
Expand Down
2 changes: 1 addition & 1 deletion dist/SmartEditor2Skin.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@



<span id="rev">Version: 2.9.0.4a256db </span>
<span id="rev">Version: 2.9.1.5caeebb </span>

<!-- SE2 Markup Start -->
<div id="smart_editor2">
Expand Down
2 changes: 1 addition & 1 deletion dist/SmartEditor2Skin_en_US.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@



<span id="rev">Version: 2.9.0.4a256db </span>
<span id="rev">Version: 2.9.1.5caeebb </span>

<!-- SE2 Markup Start -->
<div id="smart_editor2">
Expand Down
2 changes: 1 addition & 1 deletion dist/SmartEditor2Skin_ja_JP.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@



<span id="rev">Version: 2.9.0.4a256db </span>
<span id="rev">Version: 2.9.1.5caeebb </span>

<!-- SE2 Markup Start -->
<div id="smart_editor2">
Expand Down
2 changes: 1 addition & 1 deletion dist/SmartEditor2Skin_ko_KR.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@



<span id="rev">Version: 2.9.0.4a256db </span>
<span id="rev">Version: 2.9.1.5caeebb </span>

<!-- SE2 Markup Start -->
<div id="smart_editor2">
Expand Down
2 changes: 1 addition & 1 deletion dist/SmartEditor2Skin_zh_CN.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@



<span id="rev">Version: 2.9.0.4a256db </span>
<span id="rev">Version: 2.9.1.5caeebb </span>

<!-- SE2 Markup Start -->
<div id="smart_editor2">
Expand Down
2 changes: 1 addition & 1 deletion dist/SmartEditor2Skin_zh_TW.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@



<span id="rev">Version: 2.9.0.4a256db </span>
<span id="rev">Version: 2.9.1.5caeebb </span>

<!-- SE2 Markup Start -->
<div id="smart_editor2">
Expand Down
2 changes: 1 addition & 1 deletion dist/SmartEditor2noframe.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@



<span id="rev">Version: 2.9.0.4a256db </span>
<span id="rev">Version: 2.9.1.5caeebb </span>

<!-- SE2 Markup Start -->
<div id="smart_editor2">
Expand Down
5 changes: 4 additions & 1 deletion dist/js/lib/jindo2.all.js

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion dist/js/lib/jindo_component.js

Large diffs are not rendered by default.

69 changes: 43 additions & 26 deletions dist/js/smarteditor2.js
Original file line number Diff line number Diff line change
Expand Up @@ -2312,16 +2312,19 @@ nhn.HuskyRange = jindo.$Class({
return;
}

if(node.firstChild && node.tagName != "TABLE"){
var curNode = node.lastChild;
while(curNode && !frontEndFinal){
getFrontEnd(curNode);

curNode = curNode.previousSibling;
}
}else{
// [SMARTEDITORSUS-2339] 인라인요소가 많은 경우 recursive limit를 유발한다.
// @see https://web.archive.org/web/20110128022845/http://www.javascriptrules.com/2009/06/30/limitation-on-call-stacks/
// 어짜피 블럭요소가 아니라면 하위요소를 찾을 필요가 있을까? 해당 로직이 있는 히스토리를 몰라서 제거하지 않고 주석처리
// if(node.firstChild && node.tagName != "TABLE"){
// var curNode = node.lastChild;
// while(curNode && !frontEndFinal){
// getFrontEnd(curNode);
//
// curNode = curNode.previousSibling;
// }
// }else{
frontEnd = node;
}
// }

if(!frontEndFinal){
getFrontEnd(node.previousSibling);
Expand Down Expand Up @@ -2371,7 +2374,7 @@ nhn.HuskyRange = jindo.$Class({
function getBackEnd(node){
if(!node){return;}
if(backEndFinal){return;}

if(rxLineBreaker.test(node.tagName)){
lineBreaker = node;
backEndFinal = backEnd;
Expand All @@ -2381,16 +2384,19 @@ nhn.HuskyRange = jindo.$Class({
return;
}

if(node.firstChild && node.tagName != "TABLE"){
var curNode = node.firstChild;
while(curNode && !backEndFinal){
getBackEnd(curNode);

curNode = curNode.nextSibling;
}
}else{
// [SMARTEDITORSUS-2339] 인라인요소가 많은 경우 recursive limit를 유발한다.
// @see https://web.archive.org/web/20110128022845/http://www.javascriptrules.com/2009/06/30/limitation-on-call-stacks/
// 어짜피 블럭요소가 아니라면 하위요소를 찾을 필요가 있을까? 해당 로직이 있는 히스토리를 몰라서 제거하지 않고 주석처리
// if(node.firstChild && node.tagName != "TABLE"){
// var curNode = node.firstChild;
// while(curNode && !backEndFinal){
// getBackEnd(curNode);
//
// curNode = curNode.nextSibling;
// }
// }else{
backEnd = node;
}
// }

if(!backEndFinal){
getBackEnd(node.nextSibling);
Expand All @@ -2402,7 +2408,7 @@ nhn.HuskyRange = jindo.$Class({
}else{
getLineEnd(node);
}

return {oNode: backEndFinal, oLineBreaker: lineBreaker, bParentBreak: bParentBreak};
},

Expand Down Expand Up @@ -4465,11 +4471,11 @@ nhn.husky.SE_EditingAreaManager = jindo.$Class({
return this.elEditingAreaContainer.offsetHeight;
}
});
var nSE2Version = "4a256db";
var nSE2Version = "5caeebb";
nhn.husky.SE_EditingAreaManager.version = {
revision : "4a256db",
revision : "5caeebb",
type : "open",
number : "2.9.0"
number : "2.9.1"
};
/*[
* ENABLE_WYSIWYG
Expand Down Expand Up @@ -14620,13 +14626,18 @@ nhn.husky.SE2M_Utils = {
_rxTable : /^(?:CAPTION|TBODY|THEAD|TFOOT|TR|TD|TH|COLGROUP|COL)$/i,
_rxSpaceOnly : /^\s+$/,
_rxFontStart : /<font(?:\s+[^>]*)?>/i,
_htFontSize : { // @see http://jerekdain.com/fontconversion.html
_rxFontStrip : /<\/?font(?:\s+[^>]*)?>/gi,
_bUnderIE8 : jindo.$Agent().navigator().ie && (jindo.$Agent().navigator().version < 9),
// @see http://jerekdain.com/fontconversion.html
// @see https://www.w3.org/TR/html401/present/graphics.html#h-15.2.2
_htFontSize : {
"1" : "7pt",
"2" : "10pt",
"3" : "12pt",
"4" : "13.5pt",
"5" : "18pt",
"6" : "24pt"
"6" : "24pt",
"7" : "36pt"
},

/**
Expand Down Expand Up @@ -14739,6 +14750,11 @@ nhn.husky.SE2M_Utils = {
elTarget.parentNode.removeChild(elTarget);
}
}

// [SMARTEDITORSUS-2337] IE8이하에서 태그가 역전되어 있으면 font태그가 지워지지 않는 경우가 있어서 정규식으로 확실히 제
if(i > 0 && this._bUnderIE8){
el.innerHTML = el.innerHTML.replace(this._rxFontStrip, "");
}
},

/**
Expand All @@ -14751,8 +14767,9 @@ nhn.husky.SE2M_Utils = {
/**
* 폰트태그안에 폰트태그가 있을때 innerHTML으로 넣으면 안쪽 폰트태그는 span변환작업에서 누락될 수 있기 때문에
* 폰트태그가 중첩해서 있으면 appendChild를 이용하고 그렇지 않으면 innerHTML을 이용
* [SMARTEDITORSUS-2337] IE8이하에서 태그가 역전되어 있으면 elSpan.innerHTML시 오류가 나는 경우가 있어서 appendChild 방식 사용
*/
if(this._rxFontStart.test(sInnerHTML)){
if(this._rxFontStart.test(sInnerHTML) || this._bUnderIE8){
for(var elChild; (elChild = elFont.firstChild);){
elSpan.appendChild(elChild);
}
Expand Down
13 changes: 12 additions & 1 deletion dist/js/smarteditor2.min.js

Large diffs are not rendered by default.

18 changes: 8 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "SmartEditor2",
"version": "2.9.0",
"version": "2.9.1",
"description": "WYSIWYG HTML text editor",
"keywords": [
"javascript",
Expand All @@ -26,22 +26,16 @@
"type": "git",
"url": "https://github.com/naver/smarteditor2.git"
},
"dependencies": {
"devDependencies": {
"async": "^1.4.2",
"escomplex": "^1.2.0",
"escomplex-ast-moz": "^0.1.6",
"esprima": "^2.6.0",
"istanbul": "^0.3.22",
"lodash": "^3.10.1",
"mkdirp": "^0.5.1",
"selenium-webdriver": "~2.39.0"
},
"devDependencies": {
"grunt": "~0.4.5",
"grunt-cli": "~0.1.13",
"grunt-complexity": "^0.3.0",
"grunt-contrib-clean": "^0.5.0",
"grunt-contrib-compress": "^1.0.0",
"grunt-contrib-compress": "^1.4.3",
"grunt-contrib-concat": "^0.5.1",
"grunt-contrib-copy": "^0.8.2",
"grunt-contrib-jshint": "^0.9.2",
Expand All @@ -51,10 +45,14 @@
"grunt-plato": "^1.2.1",
"grunt-qunit-istanbul": "^0.5.0",
"grunt-webdriver-qunit": "~0.2.6",
"istanbul": "^0.3.22",
"jshint-jenkins-checkstyle-reporter": "^0.1.2",
"jshint-stylish": "^1.0.1",
"load-grunt-tasks": "^3.1.0",
"lodash": "^4.17.5",
"mkdirp": "^0.5.1",
"selenium-webdriver": "~2.39.0",
"time-grunt": "^1.1.0",
"uglify-js": "^2.6.1"
"uglify-js": "2.6.1"
}
}
2 changes: 1 addition & 1 deletion workspace/SmartEditor2Skin.html
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@



<span id="rev">Version: 2.9.0.4a256db </span>
<span id="rev">Version: 2.9.1.5caeebb </span>

<!-- SE2 Markup Start -->
<div id="smart_editor2">
Expand Down
5 changes: 4 additions & 1 deletion workspace/js/lib/jindo2.all.js

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion workspace/js/lib/jindo_component.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -815,9 +815,9 @@ nhn.husky.SE_EditingAreaManager = jindo.$Class({
return this.elEditingAreaContainer.offsetHeight;
}
});
var nSE2Version = "4a256db";
var nSE2Version = "5caeebb";
nhn.husky.SE_EditingAreaManager.version = {
revision : "4a256db",
revision : "5caeebb",
type : "open",
number : "2.9.0"
number : "2.9.1"
};
46 changes: 26 additions & 20 deletions workspace/js_src/husky_framework/HuskyRange.js
Original file line number Diff line number Diff line change
Expand Up @@ -1878,16 +1878,19 @@ nhn.HuskyRange = jindo.$Class({
return;
}

if(node.firstChild && node.tagName != "TABLE"){
var curNode = node.lastChild;
while(curNode && !frontEndFinal){
getFrontEnd(curNode);

curNode = curNode.previousSibling;
}
}else{
// [SMARTEDITORSUS-2339] 인라인요소가 많은 경우 recursive limit를 유발한다.
// @see https://web.archive.org/web/20110128022845/http://www.javascriptrules.com/2009/06/30/limitation-on-call-stacks/
// 어짜피 블럭요소가 아니라면 하위요소를 찾을 필요가 있을까? 해당 로직이 있는 히스토리를 몰라서 제거하지 않고 주석처리
// if(node.firstChild && node.tagName != "TABLE"){
// var curNode = node.lastChild;
// while(curNode && !frontEndFinal){
// getFrontEnd(curNode);
//
// curNode = curNode.previousSibling;
// }
// }else{
frontEnd = node;
}
// }

if(!frontEndFinal){
getFrontEnd(node.previousSibling);
Expand Down Expand Up @@ -1937,7 +1940,7 @@ nhn.HuskyRange = jindo.$Class({
function getBackEnd(node){
if(!node){return;}
if(backEndFinal){return;}

if(rxLineBreaker.test(node.tagName)){
lineBreaker = node;
backEndFinal = backEnd;
Expand All @@ -1947,16 +1950,19 @@ nhn.HuskyRange = jindo.$Class({
return;
}

if(node.firstChild && node.tagName != "TABLE"){
var curNode = node.firstChild;
while(curNode && !backEndFinal){
getBackEnd(curNode);

curNode = curNode.nextSibling;
}
}else{
// [SMARTEDITORSUS-2339] 인라인요소가 많은 경우 recursive limit를 유발한다.
// @see https://web.archive.org/web/20110128022845/http://www.javascriptrules.com/2009/06/30/limitation-on-call-stacks/
// 어짜피 블럭요소가 아니라면 하위요소를 찾을 필요가 있을까? 해당 로직이 있는 히스토리를 몰라서 제거하지 않고 주석처리
// if(node.firstChild && node.tagName != "TABLE"){
// var curNode = node.firstChild;
// while(curNode && !backEndFinal){
// getBackEnd(curNode);
//
// curNode = curNode.nextSibling;
// }
// }else{
backEnd = node;
}
// }

if(!backEndFinal){
getBackEnd(node.nextSibling);
Expand All @@ -1968,7 +1974,7 @@ nhn.HuskyRange = jindo.$Class({
}else{
getLineEnd(node);
}

return {oNode: backEndFinal, oLineBreaker: lineBreaker, bParentBreak: bParentBreak};
},

Expand Down
Loading

0 comments on commit 0dbcd5f

Please sign in to comment.