Browse Source

Pull request #3096: KERNEL-12908 fix: 复选列表的value引用问题

Merge in VISUAL/fineui from ~DAILER/fineui:master to master

* commit '54bfec0760e41338454c906c38595f23d9525f30':
  Revert "KERNEL-12683 feat: 文件上传支持自定义校验 , bi.file reset方法清空前一次上传的files"
  KERNEL-12908 fix: 复选列表的value引用问题
es6
Dailer-刘荣歆 2 years ago
parent
commit
f67464dacd
  1. 3
      src/base/single/editor/editor.multifile.js
  2. 13
      src/base/single/input/file.js
  3. 2
      src/widget/multiselect/multiselect.combo.js
  4. 2
      src/widget/multiselect/multiselect.combo.nobar.js
  5. 2
      src/widget/multiselect/multiselect.insert.combo.js
  6. 2
      src/widget/multiselect/multiselect.insert.combo.nobar.js
  7. 2
      src/widget/multiselectlist/multiselectlist.insert.js
  8. 4
      src/widget/multiselectlist/multiselectlist.insert.nobar.js
  9. 2
      src/widget/multiselectlist/multiselectlist.js

3
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 () { this.file.on(BI.File.EVENT_ERROR, function () {
self.fireEvent(BI.MultifileEditor.EVENT_ERROR, arguments); self.fireEvent(BI.MultifileEditor.EVENT_ERROR, arguments);
self._reset();
}); });
this.file.on(BI.File.EVENT_PROGRESS, function () { this.file.on(BI.File.EVENT_PROGRESS, function () {
self.fireEvent(BI.MultifileEditor.EVENT_PROGRESS, arguments); self.fireEvent(BI.MultifileEditor.EVENT_PROGRESS, arguments);
}); });
this.file.on(BI.File.EVENT_UPLOADED, function () { this.file.on(BI.File.EVENT_UPLOADED, function () {
self.fireEvent(BI.MultifileEditor.EVENT_UPLOADED, arguments); self.fireEvent(BI.MultifileEditor.EVENT_UPLOADED, arguments);
self._reset();
}); });
BI.createWidget({ BI.createWidget({
@ -95,6 +93,7 @@ BI.MultifileEditor = BI.inherit(BI.Widget, {
}, },
upload: function () { upload: function () {
this._reset();
this.file.upload(); this.file.upload();
}, },

13
src/base/single/input/file.js

@ -56,7 +56,7 @@
del: document.removeEventListener ? del: document.removeEventListener ?
function (node, name, callback) { function (node, name, callback) {
node.removeEventListener(name, callback, false); node.removeEventListener(name, callback, false);
return this; return this;
} : } :
function (node, name, callback) { function (node, name, callback) {
@ -113,8 +113,8 @@
if (isFunction(handler.onerror)) { if (isFunction(handler.onerror)) {
handler.onerror(); handler.onerror();
} }
return; return;
} }
for (var xhr = new XMLHttpRequest, for (var xhr = new XMLHttpRequest,
upload = xhr.upload || { upload = xhr.upload || {
@ -245,7 +245,7 @@
form.append("FileData", handler.file); form.append("FileData", handler.file);
xhr.send(form); xhr.send(form);
} }
return handler; return handler;
}; };
} else { } else {
@ -298,7 +298,7 @@
handler.onload(rpe, { responseText: responseText }); handler.onload(rpe, { responseText: responseText });
} }
} }
try { // IE < 8 does not accept enctype attribute ... try { // IE < 8 does not accept enctype attribute ...
var form = document.createElement("<form enctype=\"multipart/form-data\"></form>"), var form = document.createElement("<form enctype=\"multipart/form-data\"></form>"),
iframe = handler.iframe || (handler.iframe = document.createElement("<iframe id=\"" + target + "\" name=\"" + target + "\" src=\"" + url + "\"></iframe>")); iframe = handler.iframe || (handler.iframe = document.createElement("<iframe id=\"" + target + "\" name=\"" + target + "\" src=\"" + url + "\"></iframe>"));
@ -353,7 +353,7 @@
}; };
} }
xhr = null; xhr = null;
return sendFile; return sendFile;
}(Object.prototype.toString)); }(Object.prototype.toString));
@ -705,7 +705,6 @@
reset: function () { reset: function () {
if (this.wrap) { if (this.wrap) {
this.wrap.files = [];
this.wrap.attach_array = []; this.wrap.attach_array = [];
this.wrap.attach_names = []; this.wrap.attach_names = [];
this.wrap.attachNum = 0; this.wrap.attachNum = 0;

2
src/widget/multiselect/multiselect.combo.js

@ -35,7 +35,7 @@ BI.MultiSelectCombo = BI.inherit(BI.Single, {
self.trigger.getSearcher().setState(self.storeValue); self.trigger.getSearcher().setState(self.storeValue);
self.numberCounter.setButtonChecked(self.storeValue); self.numberCounter.setButtonChecked(self.storeValue);
}; };
this.storeValue = o.value || {}; this.storeValue = BI.deepClone(o.value) || {};
this._assertValue(this.storeValue); this._assertValue(this.storeValue);

2
src/widget/multiselect/multiselect.combo.nobar.js

@ -34,7 +34,7 @@ BI.MultiSelectNoBarCombo = BI.inherit(BI.Single, {
}; };
this.storeValue = { this.storeValue = {
type: BI.Selection.Multi, type: BI.Selection.Multi,
value: o.value || [] value: BI.deepClone(o.value) || []
}; };
// 标记正在请求数据 // 标记正在请求数据
this.requesting = false; this.requesting = false;

2
src/widget/multiselect/multiselect.insert.combo.js

@ -33,7 +33,7 @@ BI.MultiSelectInsertCombo = BI.inherit(BI.Single, {
self.trigger.getSearcher().setState(self.storeValue); self.trigger.getSearcher().setState(self.storeValue);
self.numberCounter.setButtonChecked(self.storeValue); self.numberCounter.setButtonChecked(self.storeValue);
}; };
this.storeValue = o.value || {}; this.storeValue = BI.deepClone(o.value) || {};
// 标记正在请求数据 // 标记正在请求数据
this.requesting = false; this.requesting = false;

2
src/widget/multiselect/multiselect.insert.combo.nobar.js

@ -34,7 +34,7 @@ BI.MultiSelectInsertNoBarCombo = BI.inherit(BI.Single, {
}; };
this.storeValue = { this.storeValue = {
type: BI.Selection.Multi, type: BI.Selection.Multi,
value: o.value || [] value: BI.deepClone(o.value) || []
}; };
// 标记正在请求数据 // 标记正在请求数据
this.requesting = false; this.requesting = false;

2
src/widget/multiselectlist/multiselectlist.insert.js

@ -15,7 +15,7 @@ BI.MultiSelectInsertList = BI.inherit(BI.Single, {
BI.MultiSelectInsertList.superclass._init.apply(this, arguments); BI.MultiSelectInsertList.superclass._init.apply(this, arguments);
var self = this, o = this.options; var self = this, o = this.options;
this.storeValue = this._assertValue(o.value || {}); this.storeValue = this._assertValue(BI.deepClone(o.value) || {});
var assertShowValue = function () { 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)); BI.isKey(self._startValue) && (self.storeValue.type === BI.Selection.All ? BI.remove(self.storeValue.value, self._startValue) : BI.pushDistinct(self.storeValue.value, self._startValue));

4
src/widget/multiselectlist/multiselectlist.insert.nobar.js

@ -16,7 +16,7 @@ BI.MultiSelectInsertNoBarList = BI.inherit(BI.Single, {
var self = this, o = this.options; var self = this, o = this.options;
this.storeValue = { this.storeValue = {
type: BI.Selection.Multi, type: BI.Selection.Multi,
value: o.value || [] value: BI.deepClone(o.value) || []
}; };
var assertShowValue = function () { var assertShowValue = function () {
@ -363,4 +363,4 @@ BI.extend(BI.MultiSelectInsertNoBarList, {
}); });
BI.MultiSelectInsertNoBarList.EVENT_CHANGE = "EVENT_CHANGE"; BI.MultiSelectInsertNoBarList.EVENT_CHANGE = "EVENT_CHANGE";
BI.shortcut("bi.multi_select_insert_no_bar_list", BI.MultiSelectInsertNoBarList); BI.shortcut("bi.multi_select_insert_no_bar_list", BI.MultiSelectInsertNoBarList);

2
src/widget/multiselectlist/multiselectlist.js

@ -15,7 +15,7 @@ BI.MultiSelectList = BI.inherit(BI.Widget, {
BI.MultiSelectList.superclass._init.apply(this, arguments); BI.MultiSelectList.superclass._init.apply(this, arguments);
var self = this, o = this.options; var self = this, o = this.options;
this.storeValue = this._assertValue(o.value || {}); this.storeValue = this._assertValue(BI.deepClone(o.value) || {});
var assertShowValue = function () { 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)); BI.isKey(self._startValue) && (self.storeValue.type === BI.Selection.All ? BI.remove(self.storeValue.value, self._startValue) : BI.pushDistinct(self.storeValue.value, self._startValue));

Loading…
Cancel
Save