diff --git a/dist/2.0/fineui.ie.js b/dist/2.0/fineui.ie.js index b2816efe6..66ebe5e51 100644 --- a/dist/2.0/fineui.ie.js +++ b/dist/2.0/fineui.ie.js @@ -11829,17 +11829,16 @@ if (!_global.BI) { * @private */ _mount: function (force, deep, lifeHook, predicate) { + var self = this; if (!force && (this._isMounted || !this.isVisible() || this.__asking === true || !(this._isRoot === true || (this._parent && this._parent._isMounted === true)))) { return false; } lifeHook !== false && this.beforeMount && this.beforeMount(); this._isMounted = true; this._mountChildren && this._mountChildren(); - if (BI.isNotNull(this._parent)) { - !this._parent.isEnabled() && this._setEnable(false); - !this._parent.isValid() && this._setValid(false); - } BI.each(this._children, function (i, widget) { + !self.isEnabled() && widget._setEnable(false); + !self.isValid() && widget._setValid(false); widget._mount && widget._mount(deep ? force : false, deep, lifeHook, predicate); }); lifeHook !== false && this.mounted && this.mounted(); @@ -15502,14 +15501,14 @@ BI.ScalingCellSizeAndPositionManager.prototype = { return (oMultiDiff[uni] ? oMultiDiff[uni] : (_ChineseFirstPY.charAt(uni - 19968))); }; - var _mkPYRslt = function (arr) { + var _mkPYRslt = function (arr, ignoreMulti) { var arrRslt = [""], k, multiLen = 0; for (var i = 0, len = arr.length; i < len; i++) { var str = arr[i]; var strlen = str.length; // 多音字过多的情况下,指数增长会造成浏览器卡死,超过20完全卡死,18勉强能用,考虑到不同性能最好是16或者14 // 超过14个多音字之后,后面的都用第一个拼音 - if (strlen == 1 || multiLen > 14) { + if (strlen == 1 || multiLen > 14 || ignoreMulti) { var tmpStr = str.substring(0, 1); for (k = 0; k < arrRslt.length; k++) { arrRslt[k] += tmpStr; @@ -15534,7 +15533,8 @@ BI.ScalingCellSizeAndPositionManager.prototype = { }; _.extend(BI, { - makeFirstPY: function (str) { + makeFirstPY: function (str, options) { + options = options || {}; if (typeof (str) !== "string") {return "" + str;} var arrResult = []; // 保存中间结果的数组 for (var i = 0, len = str.length; i < len; i++) { @@ -15544,7 +15544,7 @@ BI.ScalingCellSizeAndPositionManager.prototype = { arrResult.push(_checkPYCh(ch)); } // 处理arrResult,返回所有可能的拼音首字母串数组 - return _mkPYRslt(arrResult); + return _mkPYRslt(arrResult, options.ignoreMulti); } }); })();!(function () { @@ -46773,32 +46773,7 @@ BI.Editor = BI.inherit(BI.Single, { margin: "0" }); if (BI.isKey(this.options.watermark)) { - this.watermark = BI.createWidget({ - type: "bi.label", - cls: "bi-water-mark", - text: this.options.watermark, - height: o.height - 2 * (o.vgap + o.tgap), - whiteSpace: "nowrap", - textAlign: "left" - }); - this.watermark.element.bind({ - mousedown: function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - } - }); - this.watermark.element.bind("click", function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - }); + this._assertWaterMark(); } var _items = []; @@ -46822,6 +46797,9 @@ BI.Editor = BI.inherit(BI.Single, { var items = [{ el: { type: "bi.absolute", + ref: function(_ref) { + self.contentWrapper = _ref; + }, items: _items }, left: o.hgap + o.lgap, @@ -46940,6 +46918,38 @@ BI.Editor = BI.inherit(BI.Single, { } }, + _assertWaterMark: function() { + var self = this, o = this.options; + if(BI.isNull(this.watermark)) { + this.watermark = BI.createWidget({ + type: "bi.label", + cls: "bi-water-mark", + text: this.options.watermark, + height: o.height - 2 * (o.vgap + o.tgap), + whiteSpace: "nowrap", + textAlign: "left" + }); + this.watermark.element.bind({ + mousedown: function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + } + }); + this.watermark.element.bind("click", function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + }); + } + }, + _checkError: function () { this._setErrorVisible(this.isEnabled() && !this.isValid()); this._checkToolTip(); @@ -46962,6 +46972,25 @@ BI.Editor = BI.inherit(BI.Single, { return this.options.errorText; }, + setWaterMark: function(v) { + this.options.watermark = v; + if(BI.isNull(this.watermark)) { + this._assertWaterMark(); + BI.createWidget({ + type: "bi.absolute", + element: this.contentWrapper, + items: [{ + el: this.watermark, + left: 3, + right: 3, + top: 0, + bottom: 0 + }] + }) + } + BI.isKey(v) && this.watermark.setText(v); + }, + _setErrorVisible: function (b) { var o = this.options; var errorText = o.errorText; @@ -57628,6 +57657,11 @@ BI.ClearEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -57837,6 +57871,11 @@ BI.ShelterEditor = BI.inherit(BI.Widget, { this.text.visible(); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + setTitle: function (title) { this.text.setTitle(title); }, @@ -58121,6 +58160,11 @@ BI.SignEditor = BI.inherit(BI.Widget, { this.text.setWarningTitle(title); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this._showInput(); this.editor.focus(); @@ -58368,6 +58412,11 @@ BI.StateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -58650,6 +58699,11 @@ BI.SimpleStateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -66807,6 +66861,11 @@ BI.SearchEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -67013,6 +67072,11 @@ BI.TextEditor = BI.inherit(BI.Widget, { }); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, diff --git a/dist/2.0/fineui.js b/dist/2.0/fineui.js index 3f3f80c90..f1b910b43 100644 --- a/dist/2.0/fineui.js +++ b/dist/2.0/fineui.js @@ -11829,17 +11829,16 @@ if (!_global.BI) { * @private */ _mount: function (force, deep, lifeHook, predicate) { + var self = this; if (!force && (this._isMounted || !this.isVisible() || this.__asking === true || !(this._isRoot === true || (this._parent && this._parent._isMounted === true)))) { return false; } lifeHook !== false && this.beforeMount && this.beforeMount(); this._isMounted = true; this._mountChildren && this._mountChildren(); - if (BI.isNotNull(this._parent)) { - !this._parent.isEnabled() && this._setEnable(false); - !this._parent.isValid() && this._setValid(false); - } BI.each(this._children, function (i, widget) { + !self.isEnabled() && widget._setEnable(false); + !self.isValid() && widget._setValid(false); widget._mount && widget._mount(deep ? force : false, deep, lifeHook, predicate); }); lifeHook !== false && this.mounted && this.mounted(); @@ -15502,14 +15501,14 @@ BI.ScalingCellSizeAndPositionManager.prototype = { return (oMultiDiff[uni] ? oMultiDiff[uni] : (_ChineseFirstPY.charAt(uni - 19968))); }; - var _mkPYRslt = function (arr) { + var _mkPYRslt = function (arr, ignoreMulti) { var arrRslt = [""], k, multiLen = 0; for (var i = 0, len = arr.length; i < len; i++) { var str = arr[i]; var strlen = str.length; // 多音字过多的情况下,指数增长会造成浏览器卡死,超过20完全卡死,18勉强能用,考虑到不同性能最好是16或者14 // 超过14个多音字之后,后面的都用第一个拼音 - if (strlen == 1 || multiLen > 14) { + if (strlen == 1 || multiLen > 14 || ignoreMulti) { var tmpStr = str.substring(0, 1); for (k = 0; k < arrRslt.length; k++) { arrRslt[k] += tmpStr; @@ -15534,7 +15533,8 @@ BI.ScalingCellSizeAndPositionManager.prototype = { }; _.extend(BI, { - makeFirstPY: function (str) { + makeFirstPY: function (str, options) { + options = options || {}; if (typeof (str) !== "string") {return "" + str;} var arrResult = []; // 保存中间结果的数组 for (var i = 0, len = str.length; i < len; i++) { @@ -15544,7 +15544,7 @@ BI.ScalingCellSizeAndPositionManager.prototype = { arrResult.push(_checkPYCh(ch)); } // 处理arrResult,返回所有可能的拼音首字母串数组 - return _mkPYRslt(arrResult); + return _mkPYRslt(arrResult, options.ignoreMulti); } }); })();!(function () { @@ -47177,32 +47177,7 @@ BI.Editor = BI.inherit(BI.Single, { margin: "0" }); if (BI.isKey(this.options.watermark)) { - this.watermark = BI.createWidget({ - type: "bi.label", - cls: "bi-water-mark", - text: this.options.watermark, - height: o.height - 2 * (o.vgap + o.tgap), - whiteSpace: "nowrap", - textAlign: "left" - }); - this.watermark.element.bind({ - mousedown: function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - } - }); - this.watermark.element.bind("click", function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - }); + this._assertWaterMark(); } var _items = []; @@ -47226,6 +47201,9 @@ BI.Editor = BI.inherit(BI.Single, { var items = [{ el: { type: "bi.absolute", + ref: function(_ref) { + self.contentWrapper = _ref; + }, items: _items }, left: o.hgap + o.lgap, @@ -47344,6 +47322,38 @@ BI.Editor = BI.inherit(BI.Single, { } }, + _assertWaterMark: function() { + var self = this, o = this.options; + if(BI.isNull(this.watermark)) { + this.watermark = BI.createWidget({ + type: "bi.label", + cls: "bi-water-mark", + text: this.options.watermark, + height: o.height - 2 * (o.vgap + o.tgap), + whiteSpace: "nowrap", + textAlign: "left" + }); + this.watermark.element.bind({ + mousedown: function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + } + }); + this.watermark.element.bind("click", function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + }); + } + }, + _checkError: function () { this._setErrorVisible(this.isEnabled() && !this.isValid()); this._checkToolTip(); @@ -47366,6 +47376,25 @@ BI.Editor = BI.inherit(BI.Single, { return this.options.errorText; }, + setWaterMark: function(v) { + this.options.watermark = v; + if(BI.isNull(this.watermark)) { + this._assertWaterMark(); + BI.createWidget({ + type: "bi.absolute", + element: this.contentWrapper, + items: [{ + el: this.watermark, + left: 3, + right: 3, + top: 0, + bottom: 0 + }] + }) + } + BI.isKey(v) && this.watermark.setText(v); + }, + _setErrorVisible: function (b) { var o = this.options; var errorText = o.errorText; @@ -58032,6 +58061,11 @@ BI.ClearEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -58241,6 +58275,11 @@ BI.ShelterEditor = BI.inherit(BI.Widget, { this.text.visible(); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + setTitle: function (title) { this.text.setTitle(title); }, @@ -58525,6 +58564,11 @@ BI.SignEditor = BI.inherit(BI.Widget, { this.text.setWarningTitle(title); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this._showInput(); this.editor.focus(); @@ -58772,6 +58816,11 @@ BI.StateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -59054,6 +59103,11 @@ BI.SimpleStateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -67211,6 +67265,11 @@ BI.SearchEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -67417,6 +67476,11 @@ BI.TextEditor = BI.inherit(BI.Widget, { }); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, diff --git a/dist/base.js b/dist/base.js index 184d15504..6a93ee117 100644 --- a/dist/base.js +++ b/dist/base.js @@ -8913,32 +8913,7 @@ BI.Editor = BI.inherit(BI.Single, { margin: "0" }); if (BI.isKey(this.options.watermark)) { - this.watermark = BI.createWidget({ - type: "bi.label", - cls: "bi-water-mark", - text: this.options.watermark, - height: o.height - 2 * (o.vgap + o.tgap), - whiteSpace: "nowrap", - textAlign: "left" - }); - this.watermark.element.bind({ - mousedown: function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - } - }); - this.watermark.element.bind("click", function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - }); + this._assertWaterMark(); } var _items = []; @@ -8962,6 +8937,9 @@ BI.Editor = BI.inherit(BI.Single, { var items = [{ el: { type: "bi.absolute", + ref: function(_ref) { + self.contentWrapper = _ref; + }, items: _items }, left: o.hgap + o.lgap, @@ -9080,6 +9058,38 @@ BI.Editor = BI.inherit(BI.Single, { } }, + _assertWaterMark: function() { + var self = this, o = this.options; + if(BI.isNull(this.watermark)) { + this.watermark = BI.createWidget({ + type: "bi.label", + cls: "bi-water-mark", + text: this.options.watermark, + height: o.height - 2 * (o.vgap + o.tgap), + whiteSpace: "nowrap", + textAlign: "left" + }); + this.watermark.element.bind({ + mousedown: function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + } + }); + this.watermark.element.bind("click", function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + }); + } + }, + _checkError: function () { this._setErrorVisible(this.isEnabled() && !this.isValid()); this._checkToolTip(); @@ -9102,6 +9112,25 @@ BI.Editor = BI.inherit(BI.Single, { return this.options.errorText; }, + setWaterMark: function(v) { + this.options.watermark = v; + if(BI.isNull(this.watermark)) { + this._assertWaterMark(); + BI.createWidget({ + type: "bi.absolute", + element: this.contentWrapper, + items: [{ + el: this.watermark, + left: 3, + right: 3, + top: 0, + bottom: 0 + }] + }) + } + BI.isKey(v) && this.watermark.setText(v); + }, + _setErrorVisible: function (b) { var o = this.options; var errorText = o.errorText; diff --git a/dist/bundle.ie.js b/dist/bundle.ie.js index b2816efe6..66ebe5e51 100644 --- a/dist/bundle.ie.js +++ b/dist/bundle.ie.js @@ -11829,17 +11829,16 @@ if (!_global.BI) { * @private */ _mount: function (force, deep, lifeHook, predicate) { + var self = this; if (!force && (this._isMounted || !this.isVisible() || this.__asking === true || !(this._isRoot === true || (this._parent && this._parent._isMounted === true)))) { return false; } lifeHook !== false && this.beforeMount && this.beforeMount(); this._isMounted = true; this._mountChildren && this._mountChildren(); - if (BI.isNotNull(this._parent)) { - !this._parent.isEnabled() && this._setEnable(false); - !this._parent.isValid() && this._setValid(false); - } BI.each(this._children, function (i, widget) { + !self.isEnabled() && widget._setEnable(false); + !self.isValid() && widget._setValid(false); widget._mount && widget._mount(deep ? force : false, deep, lifeHook, predicate); }); lifeHook !== false && this.mounted && this.mounted(); @@ -15502,14 +15501,14 @@ BI.ScalingCellSizeAndPositionManager.prototype = { return (oMultiDiff[uni] ? oMultiDiff[uni] : (_ChineseFirstPY.charAt(uni - 19968))); }; - var _mkPYRslt = function (arr) { + var _mkPYRslt = function (arr, ignoreMulti) { var arrRslt = [""], k, multiLen = 0; for (var i = 0, len = arr.length; i < len; i++) { var str = arr[i]; var strlen = str.length; // 多音字过多的情况下,指数增长会造成浏览器卡死,超过20完全卡死,18勉强能用,考虑到不同性能最好是16或者14 // 超过14个多音字之后,后面的都用第一个拼音 - if (strlen == 1 || multiLen > 14) { + if (strlen == 1 || multiLen > 14 || ignoreMulti) { var tmpStr = str.substring(0, 1); for (k = 0; k < arrRslt.length; k++) { arrRslt[k] += tmpStr; @@ -15534,7 +15533,8 @@ BI.ScalingCellSizeAndPositionManager.prototype = { }; _.extend(BI, { - makeFirstPY: function (str) { + makeFirstPY: function (str, options) { + options = options || {}; if (typeof (str) !== "string") {return "" + str;} var arrResult = []; // 保存中间结果的数组 for (var i = 0, len = str.length; i < len; i++) { @@ -15544,7 +15544,7 @@ BI.ScalingCellSizeAndPositionManager.prototype = { arrResult.push(_checkPYCh(ch)); } // 处理arrResult,返回所有可能的拼音首字母串数组 - return _mkPYRslt(arrResult); + return _mkPYRslt(arrResult, options.ignoreMulti); } }); })();!(function () { @@ -46773,32 +46773,7 @@ BI.Editor = BI.inherit(BI.Single, { margin: "0" }); if (BI.isKey(this.options.watermark)) { - this.watermark = BI.createWidget({ - type: "bi.label", - cls: "bi-water-mark", - text: this.options.watermark, - height: o.height - 2 * (o.vgap + o.tgap), - whiteSpace: "nowrap", - textAlign: "left" - }); - this.watermark.element.bind({ - mousedown: function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - } - }); - this.watermark.element.bind("click", function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - }); + this._assertWaterMark(); } var _items = []; @@ -46822,6 +46797,9 @@ BI.Editor = BI.inherit(BI.Single, { var items = [{ el: { type: "bi.absolute", + ref: function(_ref) { + self.contentWrapper = _ref; + }, items: _items }, left: o.hgap + o.lgap, @@ -46940,6 +46918,38 @@ BI.Editor = BI.inherit(BI.Single, { } }, + _assertWaterMark: function() { + var self = this, o = this.options; + if(BI.isNull(this.watermark)) { + this.watermark = BI.createWidget({ + type: "bi.label", + cls: "bi-water-mark", + text: this.options.watermark, + height: o.height - 2 * (o.vgap + o.tgap), + whiteSpace: "nowrap", + textAlign: "left" + }); + this.watermark.element.bind({ + mousedown: function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + } + }); + this.watermark.element.bind("click", function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + }); + } + }, + _checkError: function () { this._setErrorVisible(this.isEnabled() && !this.isValid()); this._checkToolTip(); @@ -46962,6 +46972,25 @@ BI.Editor = BI.inherit(BI.Single, { return this.options.errorText; }, + setWaterMark: function(v) { + this.options.watermark = v; + if(BI.isNull(this.watermark)) { + this._assertWaterMark(); + BI.createWidget({ + type: "bi.absolute", + element: this.contentWrapper, + items: [{ + el: this.watermark, + left: 3, + right: 3, + top: 0, + bottom: 0 + }] + }) + } + BI.isKey(v) && this.watermark.setText(v); + }, + _setErrorVisible: function (b) { var o = this.options; var errorText = o.errorText; @@ -57628,6 +57657,11 @@ BI.ClearEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -57837,6 +57871,11 @@ BI.ShelterEditor = BI.inherit(BI.Widget, { this.text.visible(); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + setTitle: function (title) { this.text.setTitle(title); }, @@ -58121,6 +58160,11 @@ BI.SignEditor = BI.inherit(BI.Widget, { this.text.setWarningTitle(title); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this._showInput(); this.editor.focus(); @@ -58368,6 +58412,11 @@ BI.StateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -58650,6 +58699,11 @@ BI.SimpleStateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -66807,6 +66861,11 @@ BI.SearchEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -67013,6 +67072,11 @@ BI.TextEditor = BI.inherit(BI.Widget, { }); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, diff --git a/dist/bundle.js b/dist/bundle.js index 3f3f80c90..f1b910b43 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -11829,17 +11829,16 @@ if (!_global.BI) { * @private */ _mount: function (force, deep, lifeHook, predicate) { + var self = this; if (!force && (this._isMounted || !this.isVisible() || this.__asking === true || !(this._isRoot === true || (this._parent && this._parent._isMounted === true)))) { return false; } lifeHook !== false && this.beforeMount && this.beforeMount(); this._isMounted = true; this._mountChildren && this._mountChildren(); - if (BI.isNotNull(this._parent)) { - !this._parent.isEnabled() && this._setEnable(false); - !this._parent.isValid() && this._setValid(false); - } BI.each(this._children, function (i, widget) { + !self.isEnabled() && widget._setEnable(false); + !self.isValid() && widget._setValid(false); widget._mount && widget._mount(deep ? force : false, deep, lifeHook, predicate); }); lifeHook !== false && this.mounted && this.mounted(); @@ -15502,14 +15501,14 @@ BI.ScalingCellSizeAndPositionManager.prototype = { return (oMultiDiff[uni] ? oMultiDiff[uni] : (_ChineseFirstPY.charAt(uni - 19968))); }; - var _mkPYRslt = function (arr) { + var _mkPYRslt = function (arr, ignoreMulti) { var arrRslt = [""], k, multiLen = 0; for (var i = 0, len = arr.length; i < len; i++) { var str = arr[i]; var strlen = str.length; // 多音字过多的情况下,指数增长会造成浏览器卡死,超过20完全卡死,18勉强能用,考虑到不同性能最好是16或者14 // 超过14个多音字之后,后面的都用第一个拼音 - if (strlen == 1 || multiLen > 14) { + if (strlen == 1 || multiLen > 14 || ignoreMulti) { var tmpStr = str.substring(0, 1); for (k = 0; k < arrRslt.length; k++) { arrRslt[k] += tmpStr; @@ -15534,7 +15533,8 @@ BI.ScalingCellSizeAndPositionManager.prototype = { }; _.extend(BI, { - makeFirstPY: function (str) { + makeFirstPY: function (str, options) { + options = options || {}; if (typeof (str) !== "string") {return "" + str;} var arrResult = []; // 保存中间结果的数组 for (var i = 0, len = str.length; i < len; i++) { @@ -15544,7 +15544,7 @@ BI.ScalingCellSizeAndPositionManager.prototype = { arrResult.push(_checkPYCh(ch)); } // 处理arrResult,返回所有可能的拼音首字母串数组 - return _mkPYRslt(arrResult); + return _mkPYRslt(arrResult, options.ignoreMulti); } }); })();!(function () { @@ -47177,32 +47177,7 @@ BI.Editor = BI.inherit(BI.Single, { margin: "0" }); if (BI.isKey(this.options.watermark)) { - this.watermark = BI.createWidget({ - type: "bi.label", - cls: "bi-water-mark", - text: this.options.watermark, - height: o.height - 2 * (o.vgap + o.tgap), - whiteSpace: "nowrap", - textAlign: "left" - }); - this.watermark.element.bind({ - mousedown: function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - } - }); - this.watermark.element.bind("click", function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - }); + this._assertWaterMark(); } var _items = []; @@ -47226,6 +47201,9 @@ BI.Editor = BI.inherit(BI.Single, { var items = [{ el: { type: "bi.absolute", + ref: function(_ref) { + self.contentWrapper = _ref; + }, items: _items }, left: o.hgap + o.lgap, @@ -47344,6 +47322,38 @@ BI.Editor = BI.inherit(BI.Single, { } }, + _assertWaterMark: function() { + var self = this, o = this.options; + if(BI.isNull(this.watermark)) { + this.watermark = BI.createWidget({ + type: "bi.label", + cls: "bi-water-mark", + text: this.options.watermark, + height: o.height - 2 * (o.vgap + o.tgap), + whiteSpace: "nowrap", + textAlign: "left" + }); + this.watermark.element.bind({ + mousedown: function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + } + }); + this.watermark.element.bind("click", function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + }); + } + }, + _checkError: function () { this._setErrorVisible(this.isEnabled() && !this.isValid()); this._checkToolTip(); @@ -47366,6 +47376,25 @@ BI.Editor = BI.inherit(BI.Single, { return this.options.errorText; }, + setWaterMark: function(v) { + this.options.watermark = v; + if(BI.isNull(this.watermark)) { + this._assertWaterMark(); + BI.createWidget({ + type: "bi.absolute", + element: this.contentWrapper, + items: [{ + el: this.watermark, + left: 3, + right: 3, + top: 0, + bottom: 0 + }] + }) + } + BI.isKey(v) && this.watermark.setText(v); + }, + _setErrorVisible: function (b) { var o = this.options; var errorText = o.errorText; @@ -58032,6 +58061,11 @@ BI.ClearEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -58241,6 +58275,11 @@ BI.ShelterEditor = BI.inherit(BI.Widget, { this.text.visible(); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + setTitle: function (title) { this.text.setTitle(title); }, @@ -58525,6 +58564,11 @@ BI.SignEditor = BI.inherit(BI.Widget, { this.text.setWarningTitle(title); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this._showInput(); this.editor.focus(); @@ -58772,6 +58816,11 @@ BI.StateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -59054,6 +59103,11 @@ BI.SimpleStateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -67211,6 +67265,11 @@ BI.SearchEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -67417,6 +67476,11 @@ BI.TextEditor = BI.inherit(BI.Widget, { }); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, diff --git a/dist/case.js b/dist/case.js index fac8d3ab1..7538932a5 100644 --- a/dist/case.js +++ b/dist/case.js @@ -5639,6 +5639,11 @@ BI.ClearEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -5848,6 +5853,11 @@ BI.ShelterEditor = BI.inherit(BI.Widget, { this.text.visible(); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + setTitle: function (title) { this.text.setTitle(title); }, @@ -6132,6 +6142,11 @@ BI.SignEditor = BI.inherit(BI.Widget, { this.text.setWarningTitle(title); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this._showInput(); this.editor.focus(); @@ -6379,6 +6394,11 @@ BI.StateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -6661,6 +6681,11 @@ BI.SimpleStateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; diff --git a/dist/core.js b/dist/core.js index 2ba08ccfd..86c1c9b1f 100644 --- a/dist/core.js +++ b/dist/core.js @@ -11829,17 +11829,16 @@ if (!_global.BI) { * @private */ _mount: function (force, deep, lifeHook, predicate) { + var self = this; if (!force && (this._isMounted || !this.isVisible() || this.__asking === true || !(this._isRoot === true || (this._parent && this._parent._isMounted === true)))) { return false; } lifeHook !== false && this.beforeMount && this.beforeMount(); this._isMounted = true; this._mountChildren && this._mountChildren(); - if (BI.isNotNull(this._parent)) { - !this._parent.isEnabled() && this._setEnable(false); - !this._parent.isValid() && this._setValid(false); - } BI.each(this._children, function (i, widget) { + !self.isEnabled() && widget._setEnable(false); + !self.isValid() && widget._setValid(false); widget._mount && widget._mount(deep ? force : false, deep, lifeHook, predicate); }); lifeHook !== false && this.mounted && this.mounted(); @@ -15502,14 +15501,14 @@ BI.ScalingCellSizeAndPositionManager.prototype = { return (oMultiDiff[uni] ? oMultiDiff[uni] : (_ChineseFirstPY.charAt(uni - 19968))); }; - var _mkPYRslt = function (arr) { + var _mkPYRslt = function (arr, ignoreMulti) { var arrRslt = [""], k, multiLen = 0; for (var i = 0, len = arr.length; i < len; i++) { var str = arr[i]; var strlen = str.length; // 多音字过多的情况下,指数增长会造成浏览器卡死,超过20完全卡死,18勉强能用,考虑到不同性能最好是16或者14 // 超过14个多音字之后,后面的都用第一个拼音 - if (strlen == 1 || multiLen > 14) { + if (strlen == 1 || multiLen > 14 || ignoreMulti) { var tmpStr = str.substring(0, 1); for (k = 0; k < arrRslt.length; k++) { arrRslt[k] += tmpStr; @@ -15534,7 +15533,8 @@ BI.ScalingCellSizeAndPositionManager.prototype = { }; _.extend(BI, { - makeFirstPY: function (str) { + makeFirstPY: function (str, options) { + options = options || {}; if (typeof (str) !== "string") {return "" + str;} var arrResult = []; // 保存中间结果的数组 for (var i = 0, len = str.length; i < len; i++) { @@ -15544,7 +15544,7 @@ BI.ScalingCellSizeAndPositionManager.prototype = { arrResult.push(_checkPYCh(ch)); } // 处理arrResult,返回所有可能的拼音首字母串数组 - return _mkPYRslt(arrResult); + return _mkPYRslt(arrResult, options.ignoreMulti); } }); })();!(function () { diff --git a/dist/fineui.ie.js b/dist/fineui.ie.js index 6a062811e..3fe57fb75 100644 --- a/dist/fineui.ie.js +++ b/dist/fineui.ie.js @@ -12074,17 +12074,16 @@ if (!_global.BI) { * @private */ _mount: function (force, deep, lifeHook, predicate) { + var self = this; if (!force && (this._isMounted || !this.isVisible() || this.__asking === true || !(this._isRoot === true || (this._parent && this._parent._isMounted === true)))) { return false; } lifeHook !== false && this.beforeMount && this.beforeMount(); this._isMounted = true; this._mountChildren && this._mountChildren(); - if (BI.isNotNull(this._parent)) { - !this._parent.isEnabled() && this._setEnable(false); - !this._parent.isValid() && this._setValid(false); - } BI.each(this._children, function (i, widget) { + !self.isEnabled() && widget._setEnable(false); + !self.isValid() && widget._setValid(false); widget._mount && widget._mount(deep ? force : false, deep, lifeHook, predicate); }); lifeHook !== false && this.mounted && this.mounted(); @@ -15747,14 +15746,14 @@ BI.ScalingCellSizeAndPositionManager.prototype = { return (oMultiDiff[uni] ? oMultiDiff[uni] : (_ChineseFirstPY.charAt(uni - 19968))); }; - var _mkPYRslt = function (arr) { + var _mkPYRslt = function (arr, ignoreMulti) { var arrRslt = [""], k, multiLen = 0; for (var i = 0, len = arr.length; i < len; i++) { var str = arr[i]; var strlen = str.length; // 多音字过多的情况下,指数增长会造成浏览器卡死,超过20完全卡死,18勉强能用,考虑到不同性能最好是16或者14 // 超过14个多音字之后,后面的都用第一个拼音 - if (strlen == 1 || multiLen > 14) { + if (strlen == 1 || multiLen > 14 || ignoreMulti) { var tmpStr = str.substring(0, 1); for (k = 0; k < arrRslt.length; k++) { arrRslt[k] += tmpStr; @@ -15779,7 +15778,8 @@ BI.ScalingCellSizeAndPositionManager.prototype = { }; _.extend(BI, { - makeFirstPY: function (str) { + makeFirstPY: function (str, options) { + options = options || {}; if (typeof (str) !== "string") {return "" + str;} var arrResult = []; // 保存中间结果的数组 for (var i = 0, len = str.length; i < len; i++) { @@ -15789,7 +15789,7 @@ BI.ScalingCellSizeAndPositionManager.prototype = { arrResult.push(_checkPYCh(ch)); } // 处理arrResult,返回所有可能的拼音首字母串数组 - return _mkPYRslt(arrResult); + return _mkPYRslt(arrResult, options.ignoreMulti); } }); })();!(function () { @@ -47018,32 +47018,7 @@ BI.Editor = BI.inherit(BI.Single, { margin: "0" }); if (BI.isKey(this.options.watermark)) { - this.watermark = BI.createWidget({ - type: "bi.label", - cls: "bi-water-mark", - text: this.options.watermark, - height: o.height - 2 * (o.vgap + o.tgap), - whiteSpace: "nowrap", - textAlign: "left" - }); - this.watermark.element.bind({ - mousedown: function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - } - }); - this.watermark.element.bind("click", function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - }); + this._assertWaterMark(); } var _items = []; @@ -47067,6 +47042,9 @@ BI.Editor = BI.inherit(BI.Single, { var items = [{ el: { type: "bi.absolute", + ref: function(_ref) { + self.contentWrapper = _ref; + }, items: _items }, left: o.hgap + o.lgap, @@ -47185,6 +47163,38 @@ BI.Editor = BI.inherit(BI.Single, { } }, + _assertWaterMark: function() { + var self = this, o = this.options; + if(BI.isNull(this.watermark)) { + this.watermark = BI.createWidget({ + type: "bi.label", + cls: "bi-water-mark", + text: this.options.watermark, + height: o.height - 2 * (o.vgap + o.tgap), + whiteSpace: "nowrap", + textAlign: "left" + }); + this.watermark.element.bind({ + mousedown: function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + } + }); + this.watermark.element.bind("click", function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + }); + } + }, + _checkError: function () { this._setErrorVisible(this.isEnabled() && !this.isValid()); this._checkToolTip(); @@ -47207,6 +47217,25 @@ BI.Editor = BI.inherit(BI.Single, { return this.options.errorText; }, + setWaterMark: function(v) { + this.options.watermark = v; + if(BI.isNull(this.watermark)) { + this._assertWaterMark(); + BI.createWidget({ + type: "bi.absolute", + element: this.contentWrapper, + items: [{ + el: this.watermark, + left: 3, + right: 3, + top: 0, + bottom: 0 + }] + }) + } + BI.isKey(v) && this.watermark.setText(v); + }, + _setErrorVisible: function (b) { var o = this.options; var errorText = o.errorText; @@ -57873,6 +57902,11 @@ BI.ClearEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -58082,6 +58116,11 @@ BI.ShelterEditor = BI.inherit(BI.Widget, { this.text.visible(); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + setTitle: function (title) { this.text.setTitle(title); }, @@ -58366,6 +58405,11 @@ BI.SignEditor = BI.inherit(BI.Widget, { this.text.setWarningTitle(title); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this._showInput(); this.editor.focus(); @@ -58613,6 +58657,11 @@ BI.StateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -58895,6 +58944,11 @@ BI.SimpleStateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -67052,6 +67106,11 @@ BI.SearchEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -67258,6 +67317,11 @@ BI.TextEditor = BI.inherit(BI.Widget, { }); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, diff --git a/dist/fineui.js b/dist/fineui.js index 42b4782b8..820aac8bb 100644 --- a/dist/fineui.js +++ b/dist/fineui.js @@ -12074,17 +12074,16 @@ if (!_global.BI) { * @private */ _mount: function (force, deep, lifeHook, predicate) { + var self = this; if (!force && (this._isMounted || !this.isVisible() || this.__asking === true || !(this._isRoot === true || (this._parent && this._parent._isMounted === true)))) { return false; } lifeHook !== false && this.beforeMount && this.beforeMount(); this._isMounted = true; this._mountChildren && this._mountChildren(); - if (BI.isNotNull(this._parent)) { - !this._parent.isEnabled() && this._setEnable(false); - !this._parent.isValid() && this._setValid(false); - } BI.each(this._children, function (i, widget) { + !self.isEnabled() && widget._setEnable(false); + !self.isValid() && widget._setValid(false); widget._mount && widget._mount(deep ? force : false, deep, lifeHook, predicate); }); lifeHook !== false && this.mounted && this.mounted(); @@ -15747,14 +15746,14 @@ BI.ScalingCellSizeAndPositionManager.prototype = { return (oMultiDiff[uni] ? oMultiDiff[uni] : (_ChineseFirstPY.charAt(uni - 19968))); }; - var _mkPYRslt = function (arr) { + var _mkPYRslt = function (arr, ignoreMulti) { var arrRslt = [""], k, multiLen = 0; for (var i = 0, len = arr.length; i < len; i++) { var str = arr[i]; var strlen = str.length; // 多音字过多的情况下,指数增长会造成浏览器卡死,超过20完全卡死,18勉强能用,考虑到不同性能最好是16或者14 // 超过14个多音字之后,后面的都用第一个拼音 - if (strlen == 1 || multiLen > 14) { + if (strlen == 1 || multiLen > 14 || ignoreMulti) { var tmpStr = str.substring(0, 1); for (k = 0; k < arrRslt.length; k++) { arrRslt[k] += tmpStr; @@ -15779,7 +15778,8 @@ BI.ScalingCellSizeAndPositionManager.prototype = { }; _.extend(BI, { - makeFirstPY: function (str) { + makeFirstPY: function (str, options) { + options = options || {}; if (typeof (str) !== "string") {return "" + str;} var arrResult = []; // 保存中间结果的数组 for (var i = 0, len = str.length; i < len; i++) { @@ -15789,7 +15789,7 @@ BI.ScalingCellSizeAndPositionManager.prototype = { arrResult.push(_checkPYCh(ch)); } // 处理arrResult,返回所有可能的拼音首字母串数组 - return _mkPYRslt(arrResult); + return _mkPYRslt(arrResult, options.ignoreMulti); } }); })();!(function () { @@ -47422,32 +47422,7 @@ BI.Editor = BI.inherit(BI.Single, { margin: "0" }); if (BI.isKey(this.options.watermark)) { - this.watermark = BI.createWidget({ - type: "bi.label", - cls: "bi-water-mark", - text: this.options.watermark, - height: o.height - 2 * (o.vgap + o.tgap), - whiteSpace: "nowrap", - textAlign: "left" - }); - this.watermark.element.bind({ - mousedown: function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - } - }); - this.watermark.element.bind("click", function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - }); + this._assertWaterMark(); } var _items = []; @@ -47471,6 +47446,9 @@ BI.Editor = BI.inherit(BI.Single, { var items = [{ el: { type: "bi.absolute", + ref: function(_ref) { + self.contentWrapper = _ref; + }, items: _items }, left: o.hgap + o.lgap, @@ -47589,6 +47567,38 @@ BI.Editor = BI.inherit(BI.Single, { } }, + _assertWaterMark: function() { + var self = this, o = this.options; + if(BI.isNull(this.watermark)) { + this.watermark = BI.createWidget({ + type: "bi.label", + cls: "bi-water-mark", + text: this.options.watermark, + height: o.height - 2 * (o.vgap + o.tgap), + whiteSpace: "nowrap", + textAlign: "left" + }); + this.watermark.element.bind({ + mousedown: function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + } + }); + this.watermark.element.bind("click", function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + }); + } + }, + _checkError: function () { this._setErrorVisible(this.isEnabled() && !this.isValid()); this._checkToolTip(); @@ -47611,6 +47621,25 @@ BI.Editor = BI.inherit(BI.Single, { return this.options.errorText; }, + setWaterMark: function(v) { + this.options.watermark = v; + if(BI.isNull(this.watermark)) { + this._assertWaterMark(); + BI.createWidget({ + type: "bi.absolute", + element: this.contentWrapper, + items: [{ + el: this.watermark, + left: 3, + right: 3, + top: 0, + bottom: 0 + }] + }) + } + BI.isKey(v) && this.watermark.setText(v); + }, + _setErrorVisible: function (b) { var o = this.options; var errorText = o.errorText; @@ -58277,6 +58306,11 @@ BI.ClearEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -58486,6 +58520,11 @@ BI.ShelterEditor = BI.inherit(BI.Widget, { this.text.visible(); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + setTitle: function (title) { this.text.setTitle(title); }, @@ -58770,6 +58809,11 @@ BI.SignEditor = BI.inherit(BI.Widget, { this.text.setWarningTitle(title); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this._showInput(); this.editor.focus(); @@ -59017,6 +59061,11 @@ BI.StateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -59299,6 +59348,11 @@ BI.SimpleStateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -67456,6 +67510,11 @@ BI.SearchEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -67662,6 +67721,11 @@ BI.TextEditor = BI.inherit(BI.Widget, { }); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, diff --git a/dist/fineui_without_jquery_polyfill.js b/dist/fineui_without_jquery_polyfill.js index b2e71a11b..94e5d63bd 100644 --- a/dist/fineui_without_jquery_polyfill.js +++ b/dist/fineui_without_jquery_polyfill.js @@ -11829,17 +11829,16 @@ if (!_global.BI) { * @private */ _mount: function (force, deep, lifeHook, predicate) { + var self = this; if (!force && (this._isMounted || !this.isVisible() || this.__asking === true || !(this._isRoot === true || (this._parent && this._parent._isMounted === true)))) { return false; } lifeHook !== false && this.beforeMount && this.beforeMount(); this._isMounted = true; this._mountChildren && this._mountChildren(); - if (BI.isNotNull(this._parent)) { - !this._parent.isEnabled() && this._setEnable(false); - !this._parent.isValid() && this._setValid(false); - } BI.each(this._children, function (i, widget) { + !self.isEnabled() && widget._setEnable(false); + !self.isValid() && widget._setValid(false); widget._mount && widget._mount(deep ? force : false, deep, lifeHook, predicate); }); lifeHook !== false && this.mounted && this.mounted(); @@ -15502,14 +15501,14 @@ BI.ScalingCellSizeAndPositionManager.prototype = { return (oMultiDiff[uni] ? oMultiDiff[uni] : (_ChineseFirstPY.charAt(uni - 19968))); }; - var _mkPYRslt = function (arr) { + var _mkPYRslt = function (arr, ignoreMulti) { var arrRslt = [""], k, multiLen = 0; for (var i = 0, len = arr.length; i < len; i++) { var str = arr[i]; var strlen = str.length; // 多音字过多的情况下,指数增长会造成浏览器卡死,超过20完全卡死,18勉强能用,考虑到不同性能最好是16或者14 // 超过14个多音字之后,后面的都用第一个拼音 - if (strlen == 1 || multiLen > 14) { + if (strlen == 1 || multiLen > 14 || ignoreMulti) { var tmpStr = str.substring(0, 1); for (k = 0; k < arrRslt.length; k++) { arrRslt[k] += tmpStr; @@ -15534,7 +15533,8 @@ BI.ScalingCellSizeAndPositionManager.prototype = { }; _.extend(BI, { - makeFirstPY: function (str) { + makeFirstPY: function (str, options) { + options = options || {}; if (typeof (str) !== "string") {return "" + str;} var arrResult = []; // 保存中间结果的数组 for (var i = 0, len = str.length; i < len; i++) { @@ -15544,7 +15544,7 @@ BI.ScalingCellSizeAndPositionManager.prototype = { arrResult.push(_checkPYCh(ch)); } // 处理arrResult,返回所有可能的拼音首字母串数组 - return _mkPYRslt(arrResult); + return _mkPYRslt(arrResult, options.ignoreMulti); } }); })(); @@ -28556,7 +28556,208 @@ BI.ButtonTree = BI.inherit(BI.ButtonGroup, { }); BI.ButtonTree.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.button_tree", BI.ButtonTree);BI.prepares.push(function () { +BI.shortcut("bi.button_tree", BI.ButtonTree);/** + * Created by windy on 2018/01/23. + */ +describe("ButtonTest", function () { + + /** + * test_author_windy + */ + it("Click点击触发事件", function (done) { + var button = BI.Test.createWidget({ + type: "bi.button", + text: "CCC", + handler: function () { + this.setText("click"); + } + }); + BI.nextTick(function () { + button.element.click(); + expect(button.element.children(".bi-text").text()).to.equal("click"); + button.destroy(); + done(); + }); + + }); + + + /** + * test_author_windy + */ + it("MouseDown触发事件", function (done) { + var button = BI.Test.createWidget({ + type: "bi.button", + text: "CCC", + trigger: "mousedown", + handler: function () { + this.setText("click"); + } + }); + BI.nextTick(function () { + button.element.mousedown(); + expect(button.element.children(".bi-text").text()).to.equal("click"); + button.destroy(); + done(); + }); + + }); + + /** + * test_author_windy + */ + it("MouseUp触发事件", function (done) { + var button = BI.Test.createWidget({ + type: "bi.button", + text: "CCC", + trigger: "mouseup", + handler: function () { + this.setText("click"); + } + }); + BI.nextTick(function () { + button.element.mousedown(); + button.element.mouseup(); + expect(button.element.children(".bi-text").text()).to.equal("click"); + button.destroy(); + done(); + }); + + }); + + /** + * test_author_windy + */ + it("doubleClick触发事件", function (done) { + var button = BI.Test.createWidget({ + type: "bi.button", + text: "CCC", + trigger: "dblclick", + handler: function () { + this.setText("click"); + } + }); + BI.nextTick(function () { + button.element.dblclick(); + expect(button.element.children(".bi-text").text()).to.equal("click"); + button.destroy(); + done(); + }); + + }); + + /** + * test_author_windy + */ + it("LongClick触发事件", function (done) { + var clickNum = 0; + var button = BI.Test.createWidget({ + type: "bi.button", + text: "CCC", + trigger: "lclick", + listeners: [{ + eventName: BI.Button.EVENT_CHANGE, + action: function () { + clickNum++; + } + }] + }); + BI.nextTick(function () { + button.element.mousedown(); + BI.delay(function () { + expect(clickNum).to.equal(2); + button.destroy(); + done(); + }, 360); + }); + + }); +}); +/** + * Created by windy on 2018/01/23. + */ +describe("TextTest", function () { + + /** + * test_author_windy + */ + it("setText", function () { + var text = BI.Test.createWidget({ + type: "bi.text" + }); + text.setText("AAA"); + expect(text.element.text()).to.equal("AAA"); + text.destroy(); + }); + + /** + * test_author_windy + */ + it("setStyle", function () { + var text = BI.Test.createWidget({ + type: "bi.text" + }); + text.setStyle({"color": "red"}); + expect(text.element.getStyle("color")).to.equal("rgb(255, 0, 0)"); + text.destroy(); + }); + + /** + * test_author_windy + */ + it("高亮doHighlight", function () { + var text = BI.Test.createWidget({ + type: "bi.text", + text: "AAA", + highLight: true + }); + expect(text.element.getStyle("color")).to.equal("rgb(54, 133, 242)"); + text.destroy(); + }); + + /** + * test_author_windy + */ + it("标红doRedMark", function () { + var text = BI.Test.createWidget({ + type: "bi.text", + text: "我是要标红的A", + keyword: "A" + }); + expect(text.element.children(".bi-keyword-red-mark").length).to.not.equal(0); + text.destroy(); + }); + + + /** + * test_author_windy + */ + it("取消高亮undoHighlight", function () { + var text = BI.Test.createWidget({ + type: "bi.text", + text: "AAA", + highLight: true + }); + text.unHighLight(); + expect(text.element.getStyle("color")).to.not.equal("rgb(54, 133, 242)"); + text.destroy(); + }); + + /** + * test_author_windy + */ + it("取消标红undoRedMark", function () { + var text = BI.Test.createWidget({ + type: "bi.text", + text: "我是要标红的A", + keyword: "A" + }); + text.unRedMark(); + expect(text.element.children(".bi-keyword-red-mark").length).to.equal(0); + text.destroy(); + }); +}); +BI.prepares.push(function () { BI.Resizers = new BI.ResizeController(); BI.Layers = new BI.LayerController(); BI.Maskers = new BI.MaskersController(); @@ -34540,32 +34741,7 @@ BI.Editor = BI.inherit(BI.Single, { margin: "0" }); if (BI.isKey(this.options.watermark)) { - this.watermark = BI.createWidget({ - type: "bi.label", - cls: "bi-water-mark", - text: this.options.watermark, - height: o.height - 2 * (o.vgap + o.tgap), - whiteSpace: "nowrap", - textAlign: "left" - }); - this.watermark.element.bind({ - mousedown: function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - } - }); - this.watermark.element.bind("click", function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - }); + this._assertWaterMark(); } var _items = []; @@ -34589,6 +34765,9 @@ BI.Editor = BI.inherit(BI.Single, { var items = [{ el: { type: "bi.absolute", + ref: function(_ref) { + self.contentWrapper = _ref; + }, items: _items }, left: o.hgap + o.lgap, @@ -34707,6 +34886,38 @@ BI.Editor = BI.inherit(BI.Single, { } }, + _assertWaterMark: function() { + var self = this, o = this.options; + if(BI.isNull(this.watermark)) { + this.watermark = BI.createWidget({ + type: "bi.label", + cls: "bi-water-mark", + text: this.options.watermark, + height: o.height - 2 * (o.vgap + o.tgap), + whiteSpace: "nowrap", + textAlign: "left" + }); + this.watermark.element.bind({ + mousedown: function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + } + }); + this.watermark.element.bind("click", function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + }); + } + }, + _checkError: function () { this._setErrorVisible(this.isEnabled() && !this.isValid()); this._checkToolTip(); @@ -34729,6 +34940,25 @@ BI.Editor = BI.inherit(BI.Single, { return this.options.errorText; }, + setWaterMark: function(v) { + this.options.watermark = v; + if(BI.isNull(this.watermark)) { + this._assertWaterMark(); + BI.createWidget({ + type: "bi.absolute", + element: this.contentWrapper, + items: [{ + el: this.watermark, + left: 3, + right: 3, + top: 0, + bottom: 0 + }] + }) + } + BI.isKey(v) && this.watermark.setText(v); + }, + _setErrorVisible: function (b) { var o = this.options; var errorText = o.errorText; @@ -40857,6 +41087,11 @@ BI.ClearEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -41066,6 +41301,11 @@ BI.ShelterEditor = BI.inherit(BI.Widget, { this.text.visible(); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + setTitle: function (title) { this.text.setTitle(title); }, @@ -41350,6 +41590,11 @@ BI.SignEditor = BI.inherit(BI.Widget, { this.text.setWarningTitle(title); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this._showInput(); this.editor.focus(); @@ -41597,6 +41842,11 @@ BI.StateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -41879,6 +42129,11 @@ BI.SimpleStateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; @@ -49760,6 +50015,11 @@ BI.SearchEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -49966,6 +50226,11 @@ BI.TextEditor = BI.inherit(BI.Widget, { }); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, diff --git a/dist/utils.js b/dist/utils.js index 94108de85..5abac01b0 100644 --- a/dist/utils.js +++ b/dist/utils.js @@ -16856,14 +16856,14 @@ BI.ScalingCellSizeAndPositionManager.prototype = { return (oMultiDiff[uni] ? oMultiDiff[uni] : (_ChineseFirstPY.charAt(uni - 19968))); }; - var _mkPYRslt = function (arr) { + var _mkPYRslt = function (arr, ignoreMulti) { var arrRslt = [""], k, multiLen = 0; for (var i = 0, len = arr.length; i < len; i++) { var str = arr[i]; var strlen = str.length; // 多音字过多的情况下,指数增长会造成浏览器卡死,超过20完全卡死,18勉强能用,考虑到不同性能最好是16或者14 // 超过14个多音字之后,后面的都用第一个拼音 - if (strlen == 1 || multiLen > 14) { + if (strlen == 1 || multiLen > 14 || ignoreMulti) { var tmpStr = str.substring(0, 1); for (k = 0; k < arrRslt.length; k++) { arrRslt[k] += tmpStr; @@ -16888,7 +16888,8 @@ BI.ScalingCellSizeAndPositionManager.prototype = { }; _.extend(BI, { - makeFirstPY: function (str) { + makeFirstPY: function (str, options) { + options = options || {}; if (typeof (str) !== "string") {return "" + str;} var arrResult = []; // 保存中间结果的数组 for (var i = 0, len = str.length; i < len; i++) { @@ -16898,7 +16899,7 @@ BI.ScalingCellSizeAndPositionManager.prototype = { arrResult.push(_checkPYCh(ch)); } // 处理arrResult,返回所有可能的拼音首字母串数组 - return _mkPYRslt(arrResult); + return _mkPYRslt(arrResult, options.ignoreMulti); } }); })(); diff --git a/dist/widget.js b/dist/widget.js index 731623090..4d1354e12 100644 --- a/dist/widget.js +++ b/dist/widget.js @@ -4897,6 +4897,11 @@ BI.SearchEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, @@ -5103,6 +5108,11 @@ BI.TextEditor = BI.inherit(BI.Widget, { }); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, diff --git a/src/base/__test__/button.test.js b/src/base/__test__/button.test.js index 3687d98f9..2ef4e0c82 100644 --- a/src/base/__test__/button.test.js +++ b/src/base/__test__/button.test.js @@ -114,26 +114,4 @@ describe("ButtonTest", function () { }); }); - - it("LongClick触发事件", function (done) { - var clickNum = 0; - var button = BI.Test.createWidget({ - type: "bi.button", - text: "CCC", - trigger: "lclick", - listeners: [{ - eventName: BI.Button.EVENT_CHANGE, - action: function () { - clickNum++; - } - }] - }); - BI.nextTick(function () { - button.element.dblclick(); - expect(button.element.children(".bi-text").text()).to.equal("click"); - button.destroy(); - done(); - }); - - }); }); diff --git a/src/base/single/editor/editor.js b/src/base/single/editor/editor.js index 9da071dc7..793c7da6e 100644 --- a/src/base/single/editor/editor.js +++ b/src/base/single/editor/editor.js @@ -47,32 +47,7 @@ BI.Editor = BI.inherit(BI.Single, { margin: "0" }); if (BI.isKey(this.options.watermark)) { - this.watermark = BI.createWidget({ - type: "bi.label", - cls: "bi-water-mark", - text: this.options.watermark, - height: o.height - 2 * (o.vgap + o.tgap), - whiteSpace: "nowrap", - textAlign: "left" - }); - this.watermark.element.bind({ - mousedown: function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - } - }); - this.watermark.element.bind("click", function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - }); + this._assertWaterMark(); } var _items = []; @@ -96,6 +71,9 @@ BI.Editor = BI.inherit(BI.Single, { var items = [{ el: { type: "bi.absolute", + ref: function(_ref) { + self.contentWrapper = _ref; + }, items: _items }, left: o.hgap + o.lgap, @@ -214,6 +192,38 @@ BI.Editor = BI.inherit(BI.Single, { } }, + _assertWaterMark: function() { + var self = this, o = this.options; + if(BI.isNull(this.watermark)) { + this.watermark = BI.createWidget({ + type: "bi.label", + cls: "bi-water-mark", + text: this.options.watermark, + height: o.height - 2 * (o.vgap + o.tgap), + whiteSpace: "nowrap", + textAlign: "left" + }); + this.watermark.element.bind({ + mousedown: function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + } + }); + this.watermark.element.bind("click", function (e) { + if (self.isEnabled()) { + self.editor.isEditing() || self.editor.focus(); + } else { + self.editor.isEditing() && self.editor.blur(); + } + e.stopEvent(); + }); + } + }, + _checkError: function () { this._setErrorVisible(this.isEnabled() && !this.isValid()); this._checkToolTip(); @@ -236,6 +246,25 @@ BI.Editor = BI.inherit(BI.Single, { return this.options.errorText; }, + setWaterMark: function(v) { + this.options.watermark = v; + if(BI.isNull(this.watermark)) { + this._assertWaterMark(); + BI.createWidget({ + type: "bi.absolute", + element: this.contentWrapper, + items: [{ + el: this.watermark, + left: 3, + right: 3, + top: 0, + bottom: 0 + }] + }) + } + BI.isKey(v) && this.watermark.setText(v); + }, + _setErrorVisible: function (b) { var o = this.options; var errorText = o.errorText; diff --git a/src/case/editor/editor.clear.js b/src/case/editor/editor.clear.js index 0fe68eead..8c6c0f591 100644 --- a/src/case/editor/editor.clear.js +++ b/src/case/editor/editor.clear.js @@ -129,6 +129,11 @@ BI.ClearEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, diff --git a/src/case/editor/editor.shelter.js b/src/case/editor/editor.shelter.js index 1f8ca3d03..daf06a673 100644 --- a/src/case/editor/editor.shelter.js +++ b/src/case/editor/editor.shelter.js @@ -161,6 +161,11 @@ BI.ShelterEditor = BI.inherit(BI.Widget, { this.text.visible(); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + setTitle: function (title) { this.text.setTitle(title); }, diff --git a/src/case/editor/editor.sign.js b/src/case/editor/editor.sign.js index f388d3f1c..53b1339b7 100644 --- a/src/case/editor/editor.sign.js +++ b/src/case/editor/editor.sign.js @@ -173,6 +173,11 @@ BI.SignEditor = BI.inherit(BI.Widget, { this.text.setWarningTitle(title); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this._showInput(); this.editor.focus(); diff --git a/src/case/editor/editor.state.js b/src/case/editor/editor.state.js index 512effc92..1de0de262 100644 --- a/src/case/editor/editor.state.js +++ b/src/case/editor/editor.state.js @@ -151,6 +151,11 @@ BI.StateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; diff --git a/src/case/editor/editor.state.simple.js b/src/case/editor/editor.state.simple.js index ac4db9221..449e5e8bc 100644 --- a/src/case/editor/editor.state.simple.js +++ b/src/case/editor/editor.state.simple.js @@ -140,6 +140,11 @@ BI.SimpleStateEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + doRedMark: function () { if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { return; diff --git a/src/widget/editor/editor.search.js b/src/widget/editor/editor.search.js index 59e160ed3..2857a8593 100644 --- a/src/widget/editor/editor.search.js +++ b/src/widget/editor/editor.search.js @@ -133,6 +133,11 @@ BI.SearchEditor = BI.inherit(BI.Widget, { } }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); }, diff --git a/src/widget/editor/editor.text.js b/src/widget/editor/editor.text.js index a890f9360..7109b9d96 100644 --- a/src/widget/editor/editor.text.js +++ b/src/widget/editor/editor.text.js @@ -118,6 +118,11 @@ BI.TextEditor = BI.inherit(BI.Widget, { }); }, + setWaterMark: function (v) { + this.options.watermark = v; + this.editor.setWaterMark(v); + }, + focus: function () { this.editor.focus(); },