Browse Source

BI-26355

表格中存在可预测的风险:
_getItems中使用了this.options.header
如果未更新this.options.header,可能存在item和header不匹配的的情况,因此此时计算的时候使用的是上一个状态的header
es6
MrErHu 6 years ago
parent
commit
c777bc326a
  1. 56
      dist/_fineui.min.js
  2. 15
      dist/base.js
  3. 19
      dist/bundle.js
  4. 24
      dist/bundle.min.js
  5. 19
      dist/fineui.js
  6. 56
      dist/fineui.min.js
  7. 12
      src/base/table/table.grid.js

56
dist/_fineui.min.js vendored

File diff suppressed because one or more lines are too long

15
dist/base.js vendored

@ -31454,13 +31454,19 @@ BI.GridTable = BI.inherit(BI.Widget, {
},
populate: function (items, header) {
if (items && this.options.items !== items) {
var headerChanged = this.options.header !== header;
var itemsChanged = this.options.items !== items;
if(header && headerChanged) {
this.options.header = header;
}
if(items && itemsChanged) {
this.options.items = items;
}
if (items && itemsChanged) {
this.items = this._getItems();
this._restore();
}
if (header && this.options.header !== header) {
this.options.header = header;
if (header && headerChanged) {
this.header = this._getHeader();
this._restore();
}
@ -31478,7 +31484,8 @@ BI.GridTable = BI.inherit(BI.Widget, {
this._restore();
}
});
BI.shortcut("bi.grid_table", BI.GridTable);/**
BI.shortcut("bi.grid_table", BI.GridTable);
/**
* QuickGridTable
*
* Created by GUY on 2016/1/12.

19
dist/bundle.js vendored

@ -67225,13 +67225,19 @@ BI.GridTable = BI.inherit(BI.Widget, {
},
populate: function (items, header) {
if (items && this.options.items !== items) {
var headerChanged = this.options.header !== header;
var itemsChanged = this.options.items !== items;
if(header && headerChanged) {
this.options.header = header;
}
if(items && itemsChanged) {
this.options.items = items;
}
if (items && itemsChanged) {
this.items = this._getItems();
this._restore();
}
if (header && this.options.header !== header) {
this.options.header = header;
if (header && headerChanged) {
this.header = this._getHeader();
this._restore();
}
@ -67249,7 +67255,8 @@ BI.GridTable = BI.inherit(BI.Widget, {
this._restore();
}
});
BI.shortcut("bi.grid_table", BI.GridTable);/**
BI.shortcut("bi.grid_table", BI.GridTable);
/**
* QuickGridTable
*
* Created by GUY on 2016/1/12.
@ -113394,12 +113401,12 @@ BI.shortcut("bi.value_chooser_pane", BI.ValueChooserPane);;(function () {
"keys", "allKeys", "values", "pairs", "invert",
"mapObject", "findKey", "pick", "omit", "tap"], function (name) {
var old = BI[name];
BI[name] = function (obj, fn) {
BI[name] = function (obj, fn, context) {
return typeof fn === "function" ? old(obj, function (key, value) {
if (!(key in Fix.$$skipArray)) {
return fn.apply(this, arguments);
}
}) : old.apply(this, arguments);
}, context) : old.apply(this, arguments);
};
});
BI.isEmpty = function (ob) {

24
dist/bundle.min.js vendored

File diff suppressed because one or more lines are too long

19
dist/fineui.js vendored

@ -67474,13 +67474,19 @@ BI.GridTable = BI.inherit(BI.Widget, {
},
populate: function (items, header) {
if (items && this.options.items !== items) {
var headerChanged = this.options.header !== header;
var itemsChanged = this.options.items !== items;
if(header && headerChanged) {
this.options.header = header;
}
if(items && itemsChanged) {
this.options.items = items;
}
if (items && itemsChanged) {
this.items = this._getItems();
this._restore();
}
if (header && this.options.header !== header) {
this.options.header = header;
if (header && headerChanged) {
this.header = this._getHeader();
this._restore();
}
@ -67498,7 +67504,8 @@ BI.GridTable = BI.inherit(BI.Widget, {
this._restore();
}
});
BI.shortcut("bi.grid_table", BI.GridTable);/**
BI.shortcut("bi.grid_table", BI.GridTable);
/**
* QuickGridTable
*
* Created by GUY on 2016/1/12.
@ -113643,12 +113650,12 @@ BI.shortcut("bi.value_chooser_pane", BI.ValueChooserPane);;(function () {
"keys", "allKeys", "values", "pairs", "invert",
"mapObject", "findKey", "pick", "omit", "tap"], function (name) {
var old = BI[name];
BI[name] = function (obj, fn) {
BI[name] = function (obj, fn, context) {
return typeof fn === "function" ? old(obj, function (key, value) {
if (!(key in Fix.$$skipArray)) {
return fn.apply(this, arguments);
}
}) : old.apply(this, arguments);
}, context) : old.apply(this, arguments);
};
});
BI.isEmpty = function (ob) {

56
dist/fineui.min.js vendored

File diff suppressed because one or more lines are too long

12
src/base/table/table.grid.js

@ -455,13 +455,19 @@ BI.GridTable = BI.inherit(BI.Widget, {
},
populate: function (items, header) {
if (items && this.options.items !== items) {
var headerChanged = this.options.header !== header;
var itemsChanged = this.options.items !== items;
if(header && headerChanged) {
this.options.header = header;
}
if(items && itemsChanged) {
this.options.items = items;
}
if (items && itemsChanged) {
this.items = this._getItems();
this._restore();
}
if (header && this.options.header !== header) {
this.options.header = header;
if (header && headerChanged) {
this.header = this._getHeader();
this._restore();
}

Loading…
Cancel
Save