diff --git a/package.json b/package.json index 7ce1566b8..be3165cb0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20220921232331", + "version": "2.0.20220926101524", "description": "fineui", "main": "dist/fineui_without_conflict.min.js", "types": "dist/lib/index.d.ts", diff --git a/src/base/grid/grid.js b/src/base/grid/grid.js index e88169a3d..edeb8a8f3 100644 --- a/src/base/grid/grid.js +++ b/src/base/grid/grid.js @@ -96,6 +96,12 @@ BI.GridView = BI.inherit(BI.Widget, { this.element.scrollLeft(o.scrollLeft); } }, + + destroyed: function () { + BI.each(this.renderedCells, function(i, cell) { + cell.el._destroy(); + }) + }, _calculateSizeAndPositionData: function () { var o = this.options; diff --git a/src/base/single/editor/editor.multifile.js b/src/base/single/editor/editor.multifile.js index 2be8de9d2..21765474d 100644 --- a/src/base/single/editor/editor.multifile.js +++ b/src/base/single/editor/editor.multifile.js @@ -43,14 +43,12 @@ BI.MultifileEditor = BI.inherit(BI.Widget, { }); this.file.on(BI.File.EVENT_ERROR, function () { self.fireEvent(BI.MultifileEditor.EVENT_ERROR, arguments); - self._reset(); }); this.file.on(BI.File.EVENT_PROGRESS, function () { self.fireEvent(BI.MultifileEditor.EVENT_PROGRESS, arguments); }); this.file.on(BI.File.EVENT_UPLOADED, function () { self.fireEvent(BI.MultifileEditor.EVENT_UPLOADED, arguments); - self._reset(); }); BI.createWidget({ @@ -95,6 +93,7 @@ BI.MultifileEditor = BI.inherit(BI.Widget, { }, upload: function () { + this._reset(); this.file.upload(); }, diff --git a/src/base/single/input/file.js b/src/base/single/input/file.js index a17bb4955..290970141 100644 --- a/src/base/single/input/file.js +++ b/src/base/single/input/file.js @@ -56,7 +56,7 @@ del: document.removeEventListener ? function (node, name, callback) { node.removeEventListener(name, callback, false); - + return this; } : function (node, name, callback) { @@ -113,8 +113,8 @@ if (isFunction(handler.onerror)) { handler.onerror(); } - - return; + + return; } for (var xhr = new XMLHttpRequest, upload = xhr.upload || { @@ -245,7 +245,7 @@ form.append("FileData", handler.file); xhr.send(form); } - + return handler; }; } else { @@ -298,7 +298,7 @@ handler.onload(rpe, { responseText: responseText }); } } - + try { // IE < 8 does not accept enctype attribute ... var form = document.createElement("
"), iframe = handler.iframe || (handler.iframe = document.createElement("")); @@ -353,7 +353,7 @@ }; } xhr = null; - + return sendFile; }(Object.prototype.toString)); @@ -705,7 +705,6 @@ reset: function () { if (this.wrap) { - this.wrap.files = []; this.wrap.attach_array = []; this.wrap.attach_names = []; this.wrap.attachNum = 0; diff --git a/src/core/4.widget.js b/src/core/4.widget.js index 957ae836f..3c28a3976 100644 --- a/src/core/4.widget.js +++ b/src/core/4.widget.js @@ -360,6 +360,7 @@ var workerMode = BI.Providers.getProvider("bi.provider.system").getWorkerMode(); var render = BI.isFunction(this.options.render) ? this.options.render : (workerMode ? (this.$render || this.render) : this.render); var els = render && render.call(this); + els = this.options.configRender ? this.options.configRender(els) : els; els = BI.Plugin.getRender(this.options.type, els); if (BI.isPlainObject(els)) { els = [els]; diff --git a/src/widget/multiselect/multiselect.combo.js b/src/widget/multiselect/multiselect.combo.js index 00b035096..836193f96 100644 --- a/src/widget/multiselect/multiselect.combo.js +++ b/src/widget/multiselect/multiselect.combo.js @@ -35,7 +35,7 @@ BI.MultiSelectCombo = BI.inherit(BI.Single, { self.trigger.getSearcher().setState(self.storeValue); self.numberCounter.setButtonChecked(self.storeValue); }; - this.storeValue = o.value || {}; + this.storeValue = BI.deepClone(o.value) || {}; this._assertValue(this.storeValue); diff --git a/src/widget/multiselect/multiselect.combo.nobar.js b/src/widget/multiselect/multiselect.combo.nobar.js index b06a40662..c2a0851c6 100644 --- a/src/widget/multiselect/multiselect.combo.nobar.js +++ b/src/widget/multiselect/multiselect.combo.nobar.js @@ -34,7 +34,7 @@ BI.MultiSelectNoBarCombo = BI.inherit(BI.Single, { }; this.storeValue = { type: BI.Selection.Multi, - value: o.value || [] + value: BI.deepClone(o.value) || [] }; // 标记正在请求数据 this.requesting = false; diff --git a/src/widget/multiselect/multiselect.insert.combo.js b/src/widget/multiselect/multiselect.insert.combo.js index 329c0f3f9..eee22c4db 100644 --- a/src/widget/multiselect/multiselect.insert.combo.js +++ b/src/widget/multiselect/multiselect.insert.combo.js @@ -33,7 +33,7 @@ BI.MultiSelectInsertCombo = BI.inherit(BI.Single, { self.trigger.getSearcher().setState(self.storeValue); self.numberCounter.setButtonChecked(self.storeValue); }; - this.storeValue = o.value || {}; + this.storeValue = BI.deepClone(o.value) || {}; // 标记正在请求数据 this.requesting = false; diff --git a/src/widget/multiselect/multiselect.insert.combo.nobar.js b/src/widget/multiselect/multiselect.insert.combo.nobar.js index 1b92a9622..bb4a71ac1 100644 --- a/src/widget/multiselect/multiselect.insert.combo.nobar.js +++ b/src/widget/multiselect/multiselect.insert.combo.nobar.js @@ -34,7 +34,7 @@ BI.MultiSelectInsertNoBarCombo = BI.inherit(BI.Single, { }; this.storeValue = { type: BI.Selection.Multi, - value: o.value || [] + value: BI.deepClone(o.value) || [] }; // 标记正在请求数据 this.requesting = false; diff --git a/src/widget/multiselectlist/multiselectlist.insert.js b/src/widget/multiselectlist/multiselectlist.insert.js index 3311d3536..cc905c88f 100644 --- a/src/widget/multiselectlist/multiselectlist.insert.js +++ b/src/widget/multiselectlist/multiselectlist.insert.js @@ -15,7 +15,7 @@ BI.MultiSelectInsertList = BI.inherit(BI.Single, { BI.MultiSelectInsertList.superclass._init.apply(this, arguments); var self = this, o = this.options; - this.storeValue = this._assertValue(o.value || {}); + this.storeValue = this._assertValue(BI.deepClone(o.value) || {}); var assertShowValue = function () { BI.isKey(self._startValue) && (self.storeValue.type === BI.Selection.All ? BI.remove(self.storeValue.value, self._startValue) : BI.pushDistinct(self.storeValue.value, self._startValue)); diff --git a/src/widget/multiselectlist/multiselectlist.insert.nobar.js b/src/widget/multiselectlist/multiselectlist.insert.nobar.js index e2c8f2008..be87999ad 100644 --- a/src/widget/multiselectlist/multiselectlist.insert.nobar.js +++ b/src/widget/multiselectlist/multiselectlist.insert.nobar.js @@ -16,7 +16,7 @@ BI.MultiSelectInsertNoBarList = BI.inherit(BI.Single, { var self = this, o = this.options; this.storeValue = { type: BI.Selection.Multi, - value: o.value || [] + value: BI.deepClone(o.value) || [] }; var assertShowValue = function () { @@ -363,4 +363,4 @@ BI.extend(BI.MultiSelectInsertNoBarList, { }); BI.MultiSelectInsertNoBarList.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.multi_select_insert_no_bar_list", BI.MultiSelectInsertNoBarList); \ No newline at end of file +BI.shortcut("bi.multi_select_insert_no_bar_list", BI.MultiSelectInsertNoBarList); diff --git a/src/widget/multiselectlist/multiselectlist.js b/src/widget/multiselectlist/multiselectlist.js index bf152a17a..7255963df 100644 --- a/src/widget/multiselectlist/multiselectlist.js +++ b/src/widget/multiselectlist/multiselectlist.js @@ -15,7 +15,7 @@ BI.MultiSelectList = BI.inherit(BI.Widget, { BI.MultiSelectList.superclass._init.apply(this, arguments); var self = this, o = this.options; - this.storeValue = this._assertValue(o.value || {}); + this.storeValue = this._assertValue(BI.deepClone(o.value) || {}); var assertShowValue = function () { BI.isKey(self._startValue) && (self.storeValue.type === BI.Selection.All ? BI.remove(self.storeValue.value, self._startValue) : BI.pushDistinct(self.storeValue.value, self._startValue));