Browse Source

Merge pull request #1289 in VISUAL/fineui from ~WINDY/fineui:master to master

* commit 'd435ef9cdf230796b19dfc5e4f0e079c49b46825':
  update
  空格不编码
  revert
  REPORT-29022
  REPORT-20059 fix: textarea水印滚动
es6
guy 5 years ago
parent
commit
de45b77cdc
  1. 4
      changelog.md
  2. 13
      src/base/single/editor/editor.textarea.js
  3. 1
      src/base/single/label/abstract.label.js
  4. 17
      src/base/single/text.js
  5. 5
      src/core/alias.js
  6. 2
      src/css/base/tree/ztree.css
  7. 2
      src/less/base/tree/ztree.less
  8. 2
      src/widget/multitree/multi.tree.combo.js

4
changelog.md

@ -1,4 +1,8 @@
# 更新日志 # 更新日志
2.0(2020-04)
- 空格不再编码成&nbsp
- 支持文本区域水印可滚动
2.0(2020-03) 2.0(2020-03)
- 修复了IE9下使用bi.file上传包含特殊字符的excel出错的问题 - 修复了IE9下使用bi.file上传包含特殊字符的excel出错的问题
- 修复了下拉类型控件不允许编辑的时候没有title的问题 - 修复了下拉类型控件不允许编辑的时候没有title的问题

13
src/base/single/editor/editor.textarea.js

@ -33,7 +33,7 @@ BI.TextAreaEditor = BI.inherit(BI.Single, {
left: 4, left: 4,
right: 4, right: 4,
top: 4, top: 4,
bottom: 8 bottom: 4
}] }]
}); });
@ -86,7 +86,9 @@ BI.TextAreaEditor = BI.inherit(BI.Single, {
whiteSpace: "normal", whiteSpace: "normal",
text: o.watermark, text: o.watermark,
invalid: o.invalid, invalid: o.invalid,
disabled: o.disabled disabled: o.disabled,
hgap: 4,
vgap: 4
}); });
this.watermark.on(BI.TextButton.EVENT_CHANGE, function () { this.watermark.on(BI.TextButton.EVENT_CHANGE, function () {
self.focus(); self.focus();
@ -96,9 +98,10 @@ BI.TextAreaEditor = BI.inherit(BI.Single, {
element: this, element: this,
items: [{ items: [{
el: this.watermark, el: this.watermark,
left: 4, left: 0,
top: 4, top: 0,
right: 0 right: 0,
bottom: 0
}] }]
}); });
} else { } else {

1
src/base/single/label/abstract.label.js

@ -324,6 +324,7 @@ BI.AbstractLabel = BI.inherit(BI.Single, {
BI.createWidget({ BI.createWidget({
type: adaptLayout, type: adaptLayout,
element: this, element: this,
scrollable: o.whiteSpace === "normal",
items: [this.text] items: [this.text]
}); });
}, },

17
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)) {
this.text.element[0].innerHTML = BI.htmlEncode(this._getShowText());
} else {
// textContent性能更好,并且原生防xss // textContent性能更好,并且原生防xss
this.text.element[0].textContent = this._getShowText(); 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
} }

2
src/widget/multitree/multi.tree.combo.js

@ -85,7 +85,7 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
}; };
self.trigger.getSearcher().setState(val); self.trigger.getSearcher().setState(val);
self.numberCounter.setButtonChecked(val); self.numberCounter.setButtonChecked(val);
self.fireEvent(BI.MultiTreeCombo.EVENT_CLICK_ITEM); self.fireEvent(BI.MultiTreeCombo.EVENT_CLICK_ITEM, self.combo.getValue());
} }
}, { }, {
eventName: BI.MultiTreePopup.EVENT_CLICK_CONFIRM, eventName: BI.MultiTreePopup.EVENT_CLICK_CONFIRM,

Loading…
Cancel
Save