Browse Source

空格不编码

es6
windy 4 years ago
parent
commit
e4e31893db
  1. 21
      src/base/single/text.js
  2. 5
      src/core/alias.js
  3. 2
      src/css/base/tree/ztree.css
  4. 2
      src/less/base/tree/ztree.less

21
src/base/single/text.js

@ -55,7 +55,7 @@ BI.Text = BI.inherit(BI.Single, {
} }
this.element.css({ this.element.css({
textAlign: o.textAlign, textAlign: o.textAlign,
whiteSpace: o.whiteSpace, whiteSpace: this._getTextWrap(),
textOverflow: o.whiteSpace === "nowrap" ? "ellipsis" : "", textOverflow: o.whiteSpace === "nowrap" ? "ellipsis" : "",
overflow: o.whiteSpace === "nowrap" ? "" : (BI.isWidthOrHeight(o.height) ? "auto" : "") overflow: o.whiteSpace === "nowrap" ? "" : (BI.isWidthOrHeight(o.height) ? "auto" : "")
}); });
@ -90,6 +90,17 @@ BI.Text = BI.inherit(BI.Single, {
} }
}, },
_getTextWrap: function () {
var o = this.options;
switch (o.whiteSpace) {
case "nowrap":
return "pre";
case "normal":
default:
return "pre-wrap";
}
},
_getShowText: function () { _getShowText: function () {
var o = this.options; var o = this.options;
return BI.isFunction(o.text) ? o.text() : o.text; return BI.isFunction(o.text) ? o.text() : o.text;
@ -136,12 +147,8 @@ BI.Text = BI.inherit(BI.Single, {
this.text.element.html(BI.htmlEncode(this._getShowText())); this.text.element.html(BI.htmlEncode(this._getShowText()));
return; return;
} }
if (/\s/.test(text)) { // textContent性能更好,并且原生防xss
this.text.element[0].innerHTML = BI.htmlEncode(this._getShowText()); this.text.element[0].textContent = this._getShowText();
} else {
// textContent性能更好,并且原生防xss
this.text.element[0].textContent = this._getShowText();
}
BI.isKey(this.options.keyword) && this.doRedMark(this.options.keyword); BI.isKey(this.options.keyword) && this.doRedMark(this.options.keyword);
} }
}); });

5
src/core/alias.js

@ -416,11 +416,10 @@
"&": "&", "&": "&",
"\"": """, "\"": """,
"<": "&lt;", "<": "&lt;",
">": "&gt;", ">": "&gt;"
" ": "&nbsp;"
}; };
BI.htmlEncode = function (text) { BI.htmlEncode = function (text) {
return BI.isNull(text) ? "" : BI.replaceAll(text + "", "&|\"|<|>|\\s", function (v) { return BI.isNull(text) ? "" : BI.replaceAll(text + "", "&|\"|<|>", function (v) {
return SPECIAL_TAGS[v] ? SPECIAL_TAGS[v] : "&nbsp;"; return SPECIAL_TAGS[v] ? SPECIAL_TAGS[v] : "&nbsp;";
}); });
}; };

2
src/css/base/tree/ztree.css

@ -12,7 +12,7 @@
list-style: none; list-style: none;
line-height: 14px; line-height: 14px;
text-align: left; text-align: left;
white-space: nowrap; white-space: pre;
outline: 0; outline: 0;
} }
.ztree li ul { .ztree li ul {

2
src/less/base/tree/ztree.less

@ -16,7 +16,7 @@
list-style: none; list-style: none;
line-height: 14px; line-height: 14px;
text-align: left; text-align: left;
white-space: nowrap; white-space: pre;
outline: 0 outline: 0
} }

Loading…
Cancel
Save