vxe-table 4.1.2 → 4.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.umd.js CHANGED
@@ -3077,6 +3077,23 @@ $({ target: 'Array', proto: true, forced: FORCED }, {
3077
3077
  });
3078
3078
 
3079
3079
 
3080
+ /***/ }),
3081
+
3082
+ /***/ "4ec9":
3083
+ /***/ (function(module, exports, __webpack_require__) {
3084
+
3085
+ "use strict";
3086
+
3087
+ var collection = __webpack_require__("6d61");
3088
+ var collectionStrong = __webpack_require__("6566");
3089
+
3090
+ // `Map` constructor
3091
+ // https://tc39.es/ecma262/#sec-map-objects
3092
+ module.exports = collection('Map', function (init) {
3093
+ return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };
3094
+ }, collectionStrong);
3095
+
3096
+
3080
3097
  /***/ }),
3081
3098
 
3082
3099
  /***/ "5087":
@@ -3727,6 +3744,216 @@ module.exports = {
3727
3744
  };
3728
3745
 
3729
3746
 
3747
+ /***/ }),
3748
+
3749
+ /***/ "6566":
3750
+ /***/ (function(module, exports, __webpack_require__) {
3751
+
3752
+ "use strict";
3753
+
3754
+ var defineProperty = __webpack_require__("9bf2").f;
3755
+ var create = __webpack_require__("7c73");
3756
+ var redefineAll = __webpack_require__("e2cc");
3757
+ var bind = __webpack_require__("0366");
3758
+ var anInstance = __webpack_require__("19aa");
3759
+ var iterate = __webpack_require__("2266");
3760
+ var defineIterator = __webpack_require__("7dd0");
3761
+ var setSpecies = __webpack_require__("2626");
3762
+ var DESCRIPTORS = __webpack_require__("83ab");
3763
+ var fastKey = __webpack_require__("f183").fastKey;
3764
+ var InternalStateModule = __webpack_require__("69f3");
3765
+
3766
+ var setInternalState = InternalStateModule.set;
3767
+ var internalStateGetterFor = InternalStateModule.getterFor;
3768
+
3769
+ module.exports = {
3770
+ getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
3771
+ var C = wrapper(function (that, iterable) {
3772
+ anInstance(that, C, CONSTRUCTOR_NAME);
3773
+ setInternalState(that, {
3774
+ type: CONSTRUCTOR_NAME,
3775
+ index: create(null),
3776
+ first: undefined,
3777
+ last: undefined,
3778
+ size: 0
3779
+ });
3780
+ if (!DESCRIPTORS) that.size = 0;
3781
+ if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
3782
+ });
3783
+
3784
+ var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
3785
+
3786
+ var define = function (that, key, value) {
3787
+ var state = getInternalState(that);
3788
+ var entry = getEntry(that, key);
3789
+ var previous, index;
3790
+ // change existing entry
3791
+ if (entry) {
3792
+ entry.value = value;
3793
+ // create new entry
3794
+ } else {
3795
+ state.last = entry = {
3796
+ index: index = fastKey(key, true),
3797
+ key: key,
3798
+ value: value,
3799
+ previous: previous = state.last,
3800
+ next: undefined,
3801
+ removed: false
3802
+ };
3803
+ if (!state.first) state.first = entry;
3804
+ if (previous) previous.next = entry;
3805
+ if (DESCRIPTORS) state.size++;
3806
+ else that.size++;
3807
+ // add to index
3808
+ if (index !== 'F') state.index[index] = entry;
3809
+ } return that;
3810
+ };
3811
+
3812
+ var getEntry = function (that, key) {
3813
+ var state = getInternalState(that);
3814
+ // fast case
3815
+ var index = fastKey(key);
3816
+ var entry;
3817
+ if (index !== 'F') return state.index[index];
3818
+ // frozen object case
3819
+ for (entry = state.first; entry; entry = entry.next) {
3820
+ if (entry.key == key) return entry;
3821
+ }
3822
+ };
3823
+
3824
+ redefineAll(C.prototype, {
3825
+ // `{ Map, Set }.prototype.clear()` methods
3826
+ // https://tc39.es/ecma262/#sec-map.prototype.clear
3827
+ // https://tc39.es/ecma262/#sec-set.prototype.clear
3828
+ clear: function clear() {
3829
+ var that = this;
3830
+ var state = getInternalState(that);
3831
+ var data = state.index;
3832
+ var entry = state.first;
3833
+ while (entry) {
3834
+ entry.removed = true;
3835
+ if (entry.previous) entry.previous = entry.previous.next = undefined;
3836
+ delete data[entry.index];
3837
+ entry = entry.next;
3838
+ }
3839
+ state.first = state.last = undefined;
3840
+ if (DESCRIPTORS) state.size = 0;
3841
+ else that.size = 0;
3842
+ },
3843
+ // `{ Map, Set }.prototype.delete(key)` methods
3844
+ // https://tc39.es/ecma262/#sec-map.prototype.delete
3845
+ // https://tc39.es/ecma262/#sec-set.prototype.delete
3846
+ 'delete': function (key) {
3847
+ var that = this;
3848
+ var state = getInternalState(that);
3849
+ var entry = getEntry(that, key);
3850
+ if (entry) {
3851
+ var next = entry.next;
3852
+ var prev = entry.previous;
3853
+ delete state.index[entry.index];
3854
+ entry.removed = true;
3855
+ if (prev) prev.next = next;
3856
+ if (next) next.previous = prev;
3857
+ if (state.first == entry) state.first = next;
3858
+ if (state.last == entry) state.last = prev;
3859
+ if (DESCRIPTORS) state.size--;
3860
+ else that.size--;
3861
+ } return !!entry;
3862
+ },
3863
+ // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods
3864
+ // https://tc39.es/ecma262/#sec-map.prototype.foreach
3865
+ // https://tc39.es/ecma262/#sec-set.prototype.foreach
3866
+ forEach: function forEach(callbackfn /* , that = undefined */) {
3867
+ var state = getInternalState(this);
3868
+ var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
3869
+ var entry;
3870
+ while (entry = entry ? entry.next : state.first) {
3871
+ boundFunction(entry.value, entry.key, this);
3872
+ // revert to the last existing entry
3873
+ while (entry && entry.removed) entry = entry.previous;
3874
+ }
3875
+ },
3876
+ // `{ Map, Set}.prototype.has(key)` methods
3877
+ // https://tc39.es/ecma262/#sec-map.prototype.has
3878
+ // https://tc39.es/ecma262/#sec-set.prototype.has
3879
+ has: function has(key) {
3880
+ return !!getEntry(this, key);
3881
+ }
3882
+ });
3883
+
3884
+ redefineAll(C.prototype, IS_MAP ? {
3885
+ // `Map.prototype.get(key)` method
3886
+ // https://tc39.es/ecma262/#sec-map.prototype.get
3887
+ get: function get(key) {
3888
+ var entry = getEntry(this, key);
3889
+ return entry && entry.value;
3890
+ },
3891
+ // `Map.prototype.set(key, value)` method
3892
+ // https://tc39.es/ecma262/#sec-map.prototype.set
3893
+ set: function set(key, value) {
3894
+ return define(this, key === 0 ? 0 : key, value);
3895
+ }
3896
+ } : {
3897
+ // `Set.prototype.add(value)` method
3898
+ // https://tc39.es/ecma262/#sec-set.prototype.add
3899
+ add: function add(value) {
3900
+ return define(this, value = value === 0 ? 0 : value, value);
3901
+ }
3902
+ });
3903
+ if (DESCRIPTORS) defineProperty(C.prototype, 'size', {
3904
+ get: function () {
3905
+ return getInternalState(this).size;
3906
+ }
3907
+ });
3908
+ return C;
3909
+ },
3910
+ setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {
3911
+ var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
3912
+ var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
3913
+ var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
3914
+ // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods
3915
+ // https://tc39.es/ecma262/#sec-map.prototype.entries
3916
+ // https://tc39.es/ecma262/#sec-map.prototype.keys
3917
+ // https://tc39.es/ecma262/#sec-map.prototype.values
3918
+ // https://tc39.es/ecma262/#sec-map.prototype-@@iterator
3919
+ // https://tc39.es/ecma262/#sec-set.prototype.entries
3920
+ // https://tc39.es/ecma262/#sec-set.prototype.keys
3921
+ // https://tc39.es/ecma262/#sec-set.prototype.values
3922
+ // https://tc39.es/ecma262/#sec-set.prototype-@@iterator
3923
+ defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
3924
+ setInternalState(this, {
3925
+ type: ITERATOR_NAME,
3926
+ target: iterated,
3927
+ state: getInternalCollectionState(iterated),
3928
+ kind: kind,
3929
+ last: undefined
3930
+ });
3931
+ }, function () {
3932
+ var state = getInternalIteratorState(this);
3933
+ var kind = state.kind;
3934
+ var entry = state.last;
3935
+ // revert to the last existing entry
3936
+ while (entry && entry.removed) entry = entry.previous;
3937
+ // get next entry
3938
+ if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
3939
+ // or finish the iteration
3940
+ state.target = undefined;
3941
+ return { value: undefined, done: true };
3942
+ }
3943
+ // return step by kind
3944
+ if (kind == 'keys') return { value: entry.key, done: false };
3945
+ if (kind == 'values') return { value: entry.value, done: false };
3946
+ return { value: [entry.key, entry.value], done: false };
3947
+ }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
3948
+
3949
+ // `{ Map, Set }.prototype[@@species]` accessors
3950
+ // https://tc39.es/ecma262/#sec-get-map-@@species
3951
+ // https://tc39.es/ecma262/#sec-get-set-@@species
3952
+ setSpecies(CONSTRUCTOR_NAME);
3953
+ }
3954
+ };
3955
+
3956
+
3730
3957
  /***/ }),
3731
3958
 
3732
3959
  /***/ "65f0":
@@ -3863,6 +4090,118 @@ module.exports = {
3863
4090
  };
3864
4091
 
3865
4092
 
4093
+ /***/ }),
4094
+
4095
+ /***/ "6d61":
4096
+ /***/ (function(module, exports, __webpack_require__) {
4097
+
4098
+ "use strict";
4099
+
4100
+ var $ = __webpack_require__("23e7");
4101
+ var global = __webpack_require__("da84");
4102
+ var isForced = __webpack_require__("94ca");
4103
+ var redefine = __webpack_require__("6eeb");
4104
+ var InternalMetadataModule = __webpack_require__("f183");
4105
+ var iterate = __webpack_require__("2266");
4106
+ var anInstance = __webpack_require__("19aa");
4107
+ var isCallable = __webpack_require__("1626");
4108
+ var isObject = __webpack_require__("861d");
4109
+ var fails = __webpack_require__("d039");
4110
+ var checkCorrectnessOfIteration = __webpack_require__("1c7e");
4111
+ var setToStringTag = __webpack_require__("d44e");
4112
+ var inheritIfRequired = __webpack_require__("7156");
4113
+
4114
+ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
4115
+ var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
4116
+ var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
4117
+ var ADDER = IS_MAP ? 'set' : 'add';
4118
+ var NativeConstructor = global[CONSTRUCTOR_NAME];
4119
+ var NativePrototype = NativeConstructor && NativeConstructor.prototype;
4120
+ var Constructor = NativeConstructor;
4121
+ var exported = {};
4122
+
4123
+ var fixMethod = function (KEY) {
4124
+ var nativeMethod = NativePrototype[KEY];
4125
+ redefine(NativePrototype, KEY,
4126
+ KEY == 'add' ? function add(value) {
4127
+ nativeMethod.call(this, value === 0 ? 0 : value);
4128
+ return this;
4129
+ } : KEY == 'delete' ? function (key) {
4130
+ return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
4131
+ } : KEY == 'get' ? function get(key) {
4132
+ return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
4133
+ } : KEY == 'has' ? function has(key) {
4134
+ return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
4135
+ } : function set(key, value) {
4136
+ nativeMethod.call(this, key === 0 ? 0 : key, value);
4137
+ return this;
4138
+ }
4139
+ );
4140
+ };
4141
+
4142
+ var REPLACE = isForced(
4143
+ CONSTRUCTOR_NAME,
4144
+ !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
4145
+ new NativeConstructor().entries().next();
4146
+ }))
4147
+ );
4148
+
4149
+ if (REPLACE) {
4150
+ // create collection constructor
4151
+ Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
4152
+ InternalMetadataModule.enable();
4153
+ } else if (isForced(CONSTRUCTOR_NAME, true)) {
4154
+ var instance = new Constructor();
4155
+ // early implementations not supports chaining
4156
+ var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
4157
+ // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
4158
+ var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
4159
+ // most early implementations doesn't supports iterables, most modern - not close it correctly
4160
+ // eslint-disable-next-line no-new -- required for testing
4161
+ var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });
4162
+ // for early implementations -0 and +0 not the same
4163
+ var BUGGY_ZERO = !IS_WEAK && fails(function () {
4164
+ // V8 ~ Chromium 42- fails only with 5+ elements
4165
+ var $instance = new NativeConstructor();
4166
+ var index = 5;
4167
+ while (index--) $instance[ADDER](index, index);
4168
+ return !$instance.has(-0);
4169
+ });
4170
+
4171
+ if (!ACCEPT_ITERABLES) {
4172
+ Constructor = wrapper(function (dummy, iterable) {
4173
+ anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
4174
+ var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
4175
+ if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
4176
+ return that;
4177
+ });
4178
+ Constructor.prototype = NativePrototype;
4179
+ NativePrototype.constructor = Constructor;
4180
+ }
4181
+
4182
+ if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
4183
+ fixMethod('delete');
4184
+ fixMethod('has');
4185
+ IS_MAP && fixMethod('get');
4186
+ }
4187
+
4188
+ if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
4189
+
4190
+ // weak collections should not contains .clear method
4191
+ if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;
4192
+ }
4193
+
4194
+ exported[CONSTRUCTOR_NAME] = Constructor;
4195
+ $({ global: true, forced: Constructor != NativeConstructor }, exported);
4196
+
4197
+ setToStringTag(Constructor, CONSTRUCTOR_NAME);
4198
+
4199
+ if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
4200
+
4201
+ return Constructor;
4202
+ };
4203
+
4204
+
3866
4205
  /***/ }),
3867
4206
 
3868
4207
  /***/ "6eeb":
@@ -6365,6 +6704,19 @@ module.exports = {
6365
6704
  };
6366
6705
 
6367
6706
 
6707
+ /***/ }),
6708
+
6709
+ /***/ "bb2f":
6710
+ /***/ (function(module, exports, __webpack_require__) {
6711
+
6712
+ var fails = __webpack_require__("d039");
6713
+
6714
+ module.exports = !fails(function () {
6715
+ // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing
6716
+ return Object.isExtensible(Object.preventExtensions({}));
6717
+ });
6718
+
6719
+
6368
6720
  /***/ }),
6369
6721
 
6370
6722
  /***/ "c04e":
@@ -7735,6 +8087,105 @@ module.exports.f = function (C) {
7735
8087
 
7736
8088
  module.exports = __WEBPACK_EXTERNAL_MODULE_f0af__;
7737
8089
 
8090
+ /***/ }),
8091
+
8092
+ /***/ "f183":
8093
+ /***/ (function(module, exports, __webpack_require__) {
8094
+
8095
+ var $ = __webpack_require__("23e7");
8096
+ var hiddenKeys = __webpack_require__("d012");
8097
+ var isObject = __webpack_require__("861d");
8098
+ var hasOwn = __webpack_require__("1a2d");
8099
+ var defineProperty = __webpack_require__("9bf2").f;
8100
+ var getOwnPropertyNamesModule = __webpack_require__("241c");
8101
+ var getOwnPropertyNamesExternalModule = __webpack_require__("057f");
8102
+ var uid = __webpack_require__("90e3");
8103
+ var FREEZING = __webpack_require__("bb2f");
8104
+
8105
+ var REQUIRED = false;
8106
+ var METADATA = uid('meta');
8107
+ var id = 0;
8108
+
8109
+ // eslint-disable-next-line es/no-object-isextensible -- safe
8110
+ var isExtensible = Object.isExtensible || function () {
8111
+ return true;
8112
+ };
8113
+
8114
+ var setMetadata = function (it) {
8115
+ defineProperty(it, METADATA, { value: {
8116
+ objectID: 'O' + id++, // object ID
8117
+ weakData: {} // weak collections IDs
8118
+ } });
8119
+ };
8120
+
8121
+ var fastKey = function (it, create) {
8122
+ // return a primitive with prefix
8123
+ if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
8124
+ if (!hasOwn(it, METADATA)) {
8125
+ // can't set metadata to uncaught frozen object
8126
+ if (!isExtensible(it)) return 'F';
8127
+ // not necessary to add metadata
8128
+ if (!create) return 'E';
8129
+ // add missing metadata
8130
+ setMetadata(it);
8131
+ // return object ID
8132
+ } return it[METADATA].objectID;
8133
+ };
8134
+
8135
+ var getWeakData = function (it, create) {
8136
+ if (!hasOwn(it, METADATA)) {
8137
+ // can't set metadata to uncaught frozen object
8138
+ if (!isExtensible(it)) return true;
8139
+ // not necessary to add metadata
8140
+ if (!create) return false;
8141
+ // add missing metadata
8142
+ setMetadata(it);
8143
+ // return the store of weak collections IDs
8144
+ } return it[METADATA].weakData;
8145
+ };
8146
+
8147
+ // add metadata on freeze-family methods calling
8148
+ var onFreeze = function (it) {
8149
+ if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);
8150
+ return it;
8151
+ };
8152
+
8153
+ var enable = function () {
8154
+ meta.enable = function () { /* empty */ };
8155
+ REQUIRED = true;
8156
+ var getOwnPropertyNames = getOwnPropertyNamesModule.f;
8157
+ var splice = [].splice;
8158
+ var test = {};
8159
+ test[METADATA] = 1;
8160
+
8161
+ // prevent exposing of metadata key
8162
+ if (getOwnPropertyNames(test).length) {
8163
+ getOwnPropertyNamesModule.f = function (it) {
8164
+ var result = getOwnPropertyNames(it);
8165
+ for (var i = 0, length = result.length; i < length; i++) {
8166
+ if (result[i] === METADATA) {
8167
+ splice.call(result, i, 1);
8168
+ break;
8169
+ }
8170
+ } return result;
8171
+ };
8172
+
8173
+ $({ target: 'Object', stat: true, forced: true }, {
8174
+ getOwnPropertyNames: getOwnPropertyNamesExternalModule.f
8175
+ });
8176
+ }
8177
+ };
8178
+
8179
+ var meta = module.exports = {
8180
+ enable: enable,
8181
+ fastKey: fastKey,
8182
+ getWeakData: getWeakData,
8183
+ onFreeze: onFreeze
8184
+ };
8185
+
8186
+ hiddenKeys[METADATA] = true;
8187
+
8188
+
7738
8189
  /***/ }),
7739
8190
 
7740
8191
  /***/ "f5df":
@@ -8021,8 +8472,8 @@ var GlobalConfig = {
8021
8472
  showIcon: true
8022
8473
  },
8023
8474
  treeConfig: {
8024
- rowtKey: 'id',
8025
- parentKey: 'parentId',
8475
+ rowField: 'id',
8476
+ parentField: 'parentId',
8026
8477
  children: 'children',
8027
8478
  hasChild: 'hasChild',
8028
8479
  indent: 20,
@@ -11671,6 +12122,69 @@ var editHook = {
11671
12122
  }
11672
12123
  }
11673
12124
 
12125
+ function insertTreeRow(newRecords, isAppend) {
12126
+ var treeFullData = internalData.treeFullData,
12127
+ afterFullData = internalData.afterFullData,
12128
+ fullDataRowIdData = internalData.fullDataRowIdData,
12129
+ fullAllDataRowIdData = internalData.fullAllDataRowIdData;
12130
+ var treeOpts = computeTreeOpts.value;
12131
+ var funcName = isAppend ? 'push' : 'unshift';
12132
+ newRecords.forEach(function (item) {
12133
+ var parentRowId = item[treeOpts.parentField];
12134
+ var rowid = util_getRowid($xetable, item);
12135
+ var matchObj = parentRowId ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(treeFullData, function (item) {
12136
+ return parentRowId === item[treeOpts.rowField];
12137
+ }, treeOpts) : null;
12138
+
12139
+ if (matchObj) {
12140
+ var parentRow = matchObj.item;
12141
+ var parentRest = fullAllDataRowIdData[util_getRowid($xetable, parentRow)];
12142
+ var parentLevel = parentRest ? parentRest.level : 0;
12143
+ var parentChilds = parentRow[treeOpts.children];
12144
+
12145
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(parentChilds)) {
12146
+ parentChilds = parentRow[treeOpts.children] = [];
12147
+ }
12148
+
12149
+ parentChilds[funcName](item);
12150
+ var rest = {
12151
+ row: item,
12152
+ rowid: rowid,
12153
+ index: -1,
12154
+ _index: -1,
12155
+ $index: -1,
12156
+ items: parentChilds,
12157
+ parent: parent,
12158
+ level: parentLevel + 1
12159
+ };
12160
+ fullDataRowIdData[rowid] = rest;
12161
+ fullAllDataRowIdData[rowid] = rest;
12162
+ } else {
12163
+ if (true) {
12164
+ if (parentRowId) {
12165
+ warnLog('vxe.error.unableInsert');
12166
+ }
12167
+ }
12168
+
12169
+ afterFullData[funcName](item);
12170
+ treeFullData[funcName](item);
12171
+ var _rest = {
12172
+ row: item,
12173
+ rowid: rowid,
12174
+ index: -1,
12175
+ _index: -1,
12176
+ $index: -1,
12177
+ items: treeFullData,
12178
+ parent: null,
12179
+ level: 0
12180
+ };
12181
+ fullDataRowIdData[rowid] = _rest;
12182
+ fullAllDataRowIdData[rowid] = _rest;
12183
+ }
12184
+ });
12185
+ $xetable.updateVirtualTreeData();
12186
+ }
12187
+
11674
12188
  editMethods = {
11675
12189
  /**
11676
12190
  * 往表格中插入临时数据
@@ -11683,9 +12197,9 @@ var editHook = {
11683
12197
 
11684
12198
  /**
11685
12199
  * 往表格指定行中插入临时数据
11686
- * 如果 row 为空则从插入到顶部
11687
- * 如果 row 为 -1 则从插入到底部
11688
- * 如果 row 为有效行则插入到该行的位置
12200
+ * 如果 row 为空则从插入到顶部,如果为树结构,则插入到目标节点顶部
12201
+ * 如果 row 为 -1 则从插入到底部,如果为树结构,则插入到目标节点底部
12202
+ * 如果 row 为有效行则插入到该行的位置,如果为树结构,则有插入到效的目标节点该行的位置
11689
12203
  * @param {Object/Array} records 新的数据
11690
12204
  * @param {Row} row 指定行
11691
12205
  */
@@ -11696,9 +12210,14 @@ var editHook = {
11696
12210
  var mergeList = reactData.mergeList,
11697
12211
  editStore = reactData.editStore,
11698
12212
  scrollYLoad = reactData.scrollYLoad;
11699
- var afterFullData = internalData.afterFullData,
11700
- tableFullData = internalData.tableFullData;
12213
+ var treeFullData = internalData.treeFullData,
12214
+ afterFullData = internalData.afterFullData,
12215
+ tableFullData = internalData.tableFullData,
12216
+ fullDataRowIdData = internalData.fullDataRowIdData,
12217
+ fullAllDataRowIdData = internalData.fullAllDataRowIdData;
11701
12218
  var sYOpts = computeSYOpts.value;
12219
+ var treeOpts = computeTreeOpts.value;
12220
+ var transform = treeOpts.transform;
11702
12221
 
11703
12222
  if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(records)) {
11704
12223
  records = [records];
@@ -11709,53 +12228,113 @@ var editHook = {
11709
12228
  });
11710
12229
 
11711
12230
  if (!row) {
11712
- afterFullData.unshift.apply(afterFullData, _toConsumableArray(newRecords));
11713
- tableFullData.unshift.apply(tableFullData, _toConsumableArray(newRecords)); // 刷新单元格合并
12231
+ // 如果为虚拟树
12232
+ if (treeConfig && transform) {
12233
+ insertTreeRow(newRecords, false);
12234
+ } else {
12235
+ afterFullData.unshift.apply(afterFullData, _toConsumableArray(newRecords));
12236
+ tableFullData.unshift.apply(tableFullData, _toConsumableArray(newRecords)); // 刷新单元格合并
11714
12237
 
11715
- mergeList.forEach(function (mergeItem) {
11716
- var mergeRowIndex = mergeItem.row;
12238
+ mergeList.forEach(function (mergeItem) {
12239
+ var mergeRowIndex = mergeItem.row;
11717
12240
 
11718
- if (mergeRowIndex > 0) {
11719
- mergeItem.row = mergeRowIndex + newRecords.length;
11720
- }
11721
- });
12241
+ if (mergeRowIndex > 0) {
12242
+ mergeItem.row = mergeRowIndex + newRecords.length;
12243
+ }
12244
+ });
12245
+ }
11722
12246
  } else {
11723
12247
  if (row === -1) {
11724
- afterFullData.push.apply(afterFullData, _toConsumableArray(newRecords));
11725
- tableFullData.push.apply(tableFullData, _toConsumableArray(newRecords)); // 刷新单元格合并
12248
+ // 如果为虚拟树
12249
+ if (treeConfig && transform) {
12250
+ insertTreeRow(newRecords, true);
12251
+ } else {
12252
+ afterFullData.push.apply(afterFullData, _toConsumableArray(newRecords));
12253
+ tableFullData.push.apply(tableFullData, _toConsumableArray(newRecords)); // 刷新单元格合并
11726
12254
 
11727
- mergeList.forEach(function (mergeItem) {
11728
- var mergeRowIndex = mergeItem.row,
11729
- mergeRowspan = mergeItem.rowspan;
12255
+ mergeList.forEach(function (mergeItem) {
12256
+ var mergeRowIndex = mergeItem.row,
12257
+ mergeRowspan = mergeItem.rowspan;
11730
12258
 
11731
- if (mergeRowIndex + mergeRowspan > afterFullData.length) {
11732
- mergeItem.rowspan = mergeRowspan + newRecords.length;
11733
- }
11734
- });
11735
- } else {
11736
- if (treeConfig) {
11737
- throw new Error(getLog('vxe.error.noTree', ['insert']));
12259
+ if (mergeRowIndex + mergeRowspan > afterFullData.length) {
12260
+ mergeItem.rowspan = mergeRowspan + newRecords.length;
12261
+ }
12262
+ });
11738
12263
  }
12264
+ } else {
12265
+ // 如果为虚拟树
12266
+ if (treeConfig && transform) {
12267
+ var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(treeFullData, function (item) {
12268
+ return row[treeOpts.rowField] === item[treeOpts.rowField];
12269
+ }, treeOpts);
11739
12270
 
11740
- var afIndex = $xetable.findRowIndexOf(afterFullData, row);
12271
+ if (matchObj) {
12272
+ var parentRow = matchObj.parent;
12273
+ var parentChilds = matchObj.items;
12274
+ var parentRest = fullAllDataRowIdData[util_getRowid($xetable, parentRow)];
12275
+ var parentLevel = parentRest ? parentRest.level : 0;
12276
+ newRecords.forEach(function (item, i) {
12277
+ var rowid = util_getRowid($xetable, item);
12278
+
12279
+ if (true) {
12280
+ if (item[treeOpts.parentField]) {
12281
+ if (parentRow && item[treeOpts.parentField] !== parentRow[treeOpts.rowField]) {
12282
+ errLog('vxe.error.errProp', ["".concat(treeOpts.parentField, "=").concat(item[treeOpts.parentField]), "".concat(treeOpts.parentField, "=").concat(parentRow[treeOpts.rowField])]);
12283
+ }
12284
+ }
12285
+ }
11741
12286
 
11742
- if (afIndex === -1) {
11743
- throw new Error(errLog('vxe.error.unableInsert'));
11744
- }
12287
+ if (parentRow) {
12288
+ item[treeOpts.parentField] = parentRow[treeOpts.rowField];
12289
+ }
11745
12290
 
11746
- afterFullData.splice.apply(afterFullData, [afIndex, 0].concat(_toConsumableArray(newRecords)));
11747
- tableFullData.splice.apply(tableFullData, [$xetable.findRowIndexOf(tableFullData, row), 0].concat(_toConsumableArray(newRecords))); // 刷新单元格合并
12291
+ parentChilds.splice(matchObj.index + i, 0, item);
12292
+ var rest = {
12293
+ row: item,
12294
+ rowid: rowid,
12295
+ index: -1,
12296
+ _index: -1,
12297
+ $index: -1,
12298
+ items: parentChilds,
12299
+ parent: parentRow,
12300
+ level: parentLevel + 1
12301
+ };
12302
+ fullDataRowIdData[rowid] = rest;
12303
+ fullAllDataRowIdData[rowid] = rest;
12304
+ });
12305
+ $xetable.updateVirtualTreeData();
12306
+ } else {
12307
+ if (true) {
12308
+ warnLog('vxe.error.unableInsert');
12309
+ }
11748
12310
 
11749
- mergeList.forEach(function (mergeItem) {
11750
- var mergeRowIndex = mergeItem.row,
11751
- mergeRowspan = mergeItem.rowspan;
12311
+ insertTreeRow(newRecords, true);
12312
+ }
12313
+ } else {
12314
+ if (treeConfig) {
12315
+ throw new Error(getLog('vxe.error.noTree', ['insert']));
12316
+ }
11752
12317
 
11753
- if (mergeRowIndex > afIndex) {
11754
- mergeItem.row = mergeRowIndex + newRecords.length;
11755
- } else if (mergeRowIndex + mergeRowspan > afIndex) {
11756
- mergeItem.rowspan = mergeRowspan + newRecords.length;
12318
+ var afIndex = $xetable.findRowIndexOf(afterFullData, row);
12319
+
12320
+ if (afIndex === -1) {
12321
+ throw new Error(errLog('vxe.error.unableInsert'));
11757
12322
  }
11758
- });
12323
+
12324
+ afterFullData.splice.apply(afterFullData, [afIndex, 0].concat(_toConsumableArray(newRecords)));
12325
+ tableFullData.splice.apply(tableFullData, [$xetable.findRowIndexOf(tableFullData, row), 0].concat(_toConsumableArray(newRecords))); // 刷新单元格合并
12326
+
12327
+ mergeList.forEach(function (mergeItem) {
12328
+ var mergeRowIndex = mergeItem.row,
12329
+ mergeRowspan = mergeItem.rowspan;
12330
+
12331
+ if (mergeRowIndex > afIndex) {
12332
+ mergeItem.row = mergeRowIndex + newRecords.length;
12333
+ } else if (mergeRowIndex + mergeRowspan > afIndex) {
12334
+ mergeItem.rowspan = mergeRowspan + newRecords.length;
12335
+ }
12336
+ });
12337
+ }
11759
12338
  }
11760
12339
  }
11761
12340
 
@@ -11764,7 +12343,7 @@ var editHook = {
11764
12343
  reactData.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length;
11765
12344
  $xetable.updateFooter();
11766
12345
  $xetable.cacheRowMap();
11767
- $xetable.handleTableData();
12346
+ $xetable.handleTableData(transform);
11768
12347
  $xetable.updateAfterDataIndex();
11769
12348
  $xetable.checkSelectionStatus();
11770
12349
 
@@ -11795,10 +12374,13 @@ var editHook = {
11795
12374
  editStore = reactData.editStore,
11796
12375
  selection = reactData.selection,
11797
12376
  scrollYLoad = reactData.scrollYLoad;
11798
- var afterFullData = internalData.afterFullData,
12377
+ var treeFullData = internalData.treeFullData,
12378
+ afterFullData = internalData.afterFullData,
11799
12379
  tableFullData = internalData.tableFullData;
11800
12380
  var checkboxOpts = computeCheckboxOpts.value;
11801
12381
  var sYOpts = computeSYOpts.value;
12382
+ var treeOpts = computeTreeOpts.value;
12383
+ var transform = treeOpts.transform;
11802
12384
  var actived = editStore.actived,
11803
12385
  removeList = editStore.removeList,
11804
12386
  insertList = editStore.insertList;
@@ -11835,31 +12417,54 @@ var editHook = {
11835
12417
  internalData.afterFullData = [];
11836
12418
  $xetable.clearMergeCells();
11837
12419
  } else {
11838
- rows.forEach(function (row) {
11839
- var tfIndex = $xetable.findRowIndexOf(tableFullData, row);
12420
+ // 如果为虚拟树
12421
+ if (treeConfig && transform) {
12422
+ rows.forEach(function (row) {
12423
+ var rowid = util_getRowid($xetable, row);
12424
+ var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(treeFullData, function (item) {
12425
+ return rowid === util_getRowid($xetable, item);
12426
+ }, treeOpts);
11840
12427
 
11841
- if (tfIndex > -1) {
11842
- var rItems = tableFullData.splice(tfIndex, 1);
11843
- rest.push(rItems[0]);
11844
- }
12428
+ if (matchObj) {
12429
+ var rItems = matchObj.items.splice(matchObj.index, 1);
12430
+ rest.push(rItems[0]);
12431
+ }
11845
12432
 
11846
- var afIndex = $xetable.findRowIndexOf(afterFullData, row);
12433
+ var afIndex = $xetable.findRowIndexOf(afterFullData, row);
11847
12434
 
11848
- if (afIndex > -1) {
11849
- // 刷新单元格合并
11850
- mergeList.forEach(function (mergeItem) {
11851
- var mergeRowIndex = mergeItem.row,
11852
- mergeRowspan = mergeItem.rowspan;
12435
+ if (afIndex > -1) {
12436
+ afterFullData.splice(afIndex, 1);
12437
+ }
11853
12438
 
11854
- if (mergeRowIndex > afIndex) {
11855
- mergeItem.row = mergeRowIndex - 1;
11856
- } else if (mergeRowIndex + mergeRowspan > afIndex) {
11857
- mergeItem.rowspan = mergeRowspan - 1;
11858
- }
11859
- });
11860
- afterFullData.splice(afIndex, 1);
11861
- }
11862
- });
12439
+ $xetable.updateVirtualTreeData();
12440
+ });
12441
+ } else {
12442
+ rows.forEach(function (row) {
12443
+ var tfIndex = $xetable.findRowIndexOf(tableFullData, row);
12444
+
12445
+ if (tfIndex > -1) {
12446
+ var rItems = tableFullData.splice(tfIndex, 1);
12447
+ rest.push(rItems[0]);
12448
+ }
12449
+
12450
+ var afIndex = $xetable.findRowIndexOf(afterFullData, row);
12451
+
12452
+ if (afIndex > -1) {
12453
+ // 刷新单元格合并
12454
+ mergeList.forEach(function (mergeItem) {
12455
+ var mergeRowIndex = mergeItem.row,
12456
+ mergeRowspan = mergeItem.rowspan;
12457
+
12458
+ if (mergeRowIndex > afIndex) {
12459
+ mergeItem.row = mergeRowIndex - 1;
12460
+ } else if (mergeRowIndex + mergeRowspan > afIndex) {
12461
+ mergeItem.rowspan = mergeRowspan - 1;
12462
+ }
12463
+ });
12464
+ afterFullData.splice(afIndex, 1);
12465
+ }
12466
+ });
12467
+ }
11863
12468
  } // 如果当前行被激活编辑,则清除激活状态
11864
12469
 
11865
12470
 
@@ -11878,7 +12483,7 @@ var editHook = {
11878
12483
  reactData.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length;
11879
12484
  $xetable.updateFooter();
11880
12485
  $xetable.cacheRowMap();
11881
- $xetable.handleTableData();
12486
+ $xetable.handleTableData(transform);
11882
12487
  $xetable.updateAfterDataIndex();
11883
12488
  $xetable.checkSelectionStatus();
11884
12489
 
@@ -11944,17 +12549,34 @@ var editHook = {
11944
12549
  * 获取新增的临时数据
11945
12550
  */
11946
12551
  getInsertRecords: function getInsertRecords() {
12552
+ var treeConfig = props.treeConfig;
11947
12553
  var editStore = reactData.editStore;
11948
- var tableFullData = internalData.tableFullData;
12554
+ var treeFullData = internalData.treeFullData,
12555
+ tableFullData = internalData.tableFullData;
12556
+ var treeOpts = computeTreeOpts.value;
11949
12557
  var insertList = editStore.insertList;
11950
12558
  var insertRecords = [];
11951
12559
 
11952
12560
  if (insertList.length) {
11953
- tableFullData.forEach(function (row) {
11954
- if ($xetable.findRowIndexOf(insertList, row) > -1) {
11955
- insertRecords.push(row);
11956
- }
11957
- });
12561
+ // 如果为虚拟树
12562
+ if (treeConfig && treeOpts.transform) {
12563
+ insertList.forEach(function (row) {
12564
+ var rowid = util_getRowid($xetable, row);
12565
+ var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(treeFullData, function (item) {
12566
+ return rowid === util_getRowid($xetable, item);
12567
+ }, treeOpts);
12568
+
12569
+ if (matchObj) {
12570
+ insertRecords.push(row);
12571
+ }
12572
+ });
12573
+ } else {
12574
+ insertList.forEach(function (row) {
12575
+ if ($xetable.findRowIndexOf(tableFullData, row) > -1) {
12576
+ insertRecords.push(row);
12577
+ }
12578
+ });
12579
+ }
11958
12580
  }
11959
12581
 
11960
12582
  return insertRecords;
@@ -14780,12 +15402,20 @@ function toStringTimeDate(str) {
14780
15402
  return immediate || !(type === 'text' || type === 'number' || type === 'integer' || type === 'float');
14781
15403
  });
14782
15404
 
15405
+ function toFloatValueFixed(inputValue, digitsValue) {
15406
+ if (/^-/.test('' + inputValue)) {
15407
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toFixed(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.ceil(inputValue, digitsValue), digitsValue);
15408
+ }
15409
+
15410
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toFixed(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.floor(inputValue, digitsValue), digitsValue);
15411
+ }
15412
+
14783
15413
  function getNumberValue(val) {
14784
15414
  var type = props.type,
14785
15415
  exponential = props.exponential;
14786
15416
  var inpMaxlength = computeInpMaxlength.value;
14787
15417
  var digitsValue = computeDigitsValue.value;
14788
- var restVal = type === 'float' ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toFixed(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.floor(val, digitsValue), digitsValue) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(val);
15418
+ var restVal = type === 'float' ? toFloatValueFixed(val, digitsValue) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(val);
14789
15419
 
14790
15420
  if (exponential && (val === restVal || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(val).toLowerCase() === external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(restVal).toExponential())) {
14791
15421
  return val;
@@ -14957,7 +15587,7 @@ function toStringTimeDate(str) {
14957
15587
  changeValue();
14958
15588
  } else if (type === 'float') {
14959
15589
  if (inputValue) {
14960
- var validValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toFixed(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.floor(inputValue, digitsValue), digitsValue);
15590
+ var validValue = toFloatValueFixed(inputValue, digitsValue);
14961
15591
 
14962
15592
  if (inputValue !== validValue) {
14963
15593
  emitModel(validValue, {
@@ -18398,6 +19028,9 @@ var web_url_search_params = __webpack_require__("9861");
18398
19028
 
18399
19029
 
18400
19030
 
19031
+
19032
+
19033
+
18401
19034
  // 导入
18402
19035
 
18403
19036
  var fileForm;
@@ -18623,6 +19256,8 @@ var util_saveLocalFile = function saveLocalFile(options) {
18623
19256
 
18624
19257
 
18625
19258
 
19259
+
19260
+
18626
19261
 
18627
19262
 
18628
19263
 
@@ -20887,6 +21522,9 @@ var Keyboard = {
20887
21522
 
20888
21523
 
20889
21524
 
21525
+
21526
+
21527
+
20890
21528
  /**
20891
21529
  * 校验规则
20892
21530
  */
@@ -21820,6 +22458,7 @@ var Header = Object.assign(header, {
21820
22458
 
21821
22459
 
21822
22460
 
22461
+
21823
22462
  var footer_renderType = 'footer';
21824
22463
 
21825
22464
  function mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex) {
@@ -22577,18 +23216,22 @@ var Cell = {
22577
23216
  var radioOpts = computeRadioOpts.value;
22578
23217
  var slots = column.slots;
22579
23218
  var labelField = radioOpts.labelField,
22580
- checkMethod = radioOpts.checkMethod;
23219
+ checkMethod = radioOpts.checkMethod,
23220
+ visibleMethod = radioOpts.visibleMethod;
22581
23221
  var row = params.row;
22582
23222
  var defaultSlot = slots ? slots.default : null;
22583
23223
  var radioSlot = slots ? slots.radio : null;
22584
23224
  var isChecked = row === selectRow;
23225
+ var isVisible = !visibleMethod || visibleMethod({
23226
+ row: row
23227
+ });
22585
23228
  var isDisabled = !!checkMethod;
22586
23229
  var ons;
22587
23230
 
22588
23231
  if (!isHidden) {
22589
23232
  ons = {
22590
23233
  onClick: function onClick(evnt) {
22591
- if (!isDisabled) {
23234
+ if (!isDisabled && isVisible) {
22592
23235
  $table.triggerRadioRowEvent(evnt, params);
22593
23236
  }
22594
23237
  }
@@ -22603,21 +23246,36 @@ var Cell = {
22603
23246
 
22604
23247
  var radioParams = _objectSpread2(_objectSpread2({}, params), {}, {
22605
23248
  checked: isChecked,
22606
- disabled: isDisabled
23249
+ disabled: isDisabled,
23250
+ visible: isVisible
22607
23251
  });
22608
23252
 
22609
- return radioSlot ? $table.callSlot(radioSlot, radioParams) : [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', _objectSpread2({
23253
+ if (radioSlot) {
23254
+ return $table.callSlot(radioSlot, radioParams);
23255
+ }
23256
+
23257
+ var radioVNs = [];
23258
+
23259
+ if (isVisible) {
23260
+ radioVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
23261
+ class: 'vxe-radio--icon vxe-radio--checked-icon'
23262
+ }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
23263
+ class: 'vxe-radio--icon vxe-radio--unchecked-icon'
23264
+ }));
23265
+ }
23266
+
23267
+ if (defaultSlot || labelField) {
23268
+ radioVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
23269
+ class: 'vxe-radio--label'
23270
+ }, defaultSlot ? $table.callSlot(defaultSlot, radioParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, labelField)));
23271
+ }
23272
+
23273
+ return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', _objectSpread2({
22610
23274
  class: ['vxe-cell--radio', {
22611
23275
  'is--checked': isChecked,
22612
23276
  'is--disabled': isDisabled
22613
23277
  }]
22614
- }, ons), [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
22615
- class: 'vxe-radio--icon vxe-radio--checked-icon'
22616
- }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
22617
- class: 'vxe-radio--icon vxe-radio--unchecked-icon'
22618
- })].concat(defaultSlot || labelField ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
22619
- class: 'vxe-radio--label'
22620
- }, defaultSlot ? $table.callSlot(defaultSlot, radioParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, labelField))] : []))];
23278
+ }, ons), radioVNs)];
22621
23279
  },
22622
23280
  renderTreeRadioCell: function renderTreeRadioCell(params) {
22623
23281
  return Cell.renderTreeIcon(params, Cell.renderRadioCell(params));
@@ -22707,12 +23365,16 @@ var Cell = {
22707
23365
 
22708
23366
  var checkboxOpts = computeCheckboxOpts.value;
22709
23367
  var labelField = checkboxOpts.labelField,
22710
- checkMethod = checkboxOpts.checkMethod;
23368
+ checkMethod = checkboxOpts.checkMethod,
23369
+ visibleMethod = checkboxOpts.visibleMethod;
22711
23370
  var slots = column.slots;
22712
23371
  var defaultSlot = slots ? slots.default : null;
22713
23372
  var checkboxSlot = slots ? slots.checkbox : null;
22714
23373
  var indeterminate = false;
22715
23374
  var isChecked = false;
23375
+ var isVisible = !visibleMethod || visibleMethod({
23376
+ row: row
23377
+ });
22716
23378
  var isDisabled = !!checkMethod;
22717
23379
  var ons;
22718
23380
 
@@ -22720,7 +23382,7 @@ var Cell = {
22720
23382
  isChecked = $table.findRowIndexOf(selection, row) > -1;
22721
23383
  ons = {
22722
23384
  onClick: function onClick(evnt) {
22723
- if (!isDisabled) {
23385
+ if (!isDisabled && isVisible) {
22724
23386
  $table.triggerCheckRowEvent(evnt, params, !isChecked);
22725
23387
  }
22726
23388
  }
@@ -22740,24 +23402,39 @@ var Cell = {
22740
23402
  var checkboxParams = _objectSpread2(_objectSpread2({}, params), {}, {
22741
23403
  checked: isChecked,
22742
23404
  disabled: isDisabled,
23405
+ visible: isVisible,
22743
23406
  indeterminate: indeterminate
22744
23407
  });
22745
23408
 
22746
- return checkboxSlot ? $table.callSlot(checkboxSlot, checkboxParams) : [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', _objectSpread2({
23409
+ if (checkboxSlot) {
23410
+ return $table.callSlot(checkboxSlot, checkboxParams);
23411
+ }
23412
+
23413
+ var checkVNs = [];
23414
+
23415
+ if (isVisible) {
23416
+ checkVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
23417
+ class: 'vxe-checkbox--icon vxe-checkbox--checked-icon'
23418
+ }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
23419
+ class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon'
23420
+ }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
23421
+ class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon'
23422
+ }));
23423
+ }
23424
+
23425
+ if (defaultSlot || labelField) {
23426
+ checkVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
23427
+ class: 'vxe-checkbox--label'
23428
+ }, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, labelField)));
23429
+ }
23430
+
23431
+ return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', _objectSpread2({
22747
23432
  class: ['vxe-cell--checkbox', {
22748
23433
  'is--checked': isChecked,
22749
23434
  'is--disabled': isDisabled,
22750
23435
  'is--indeterminate': indeterminate
22751
23436
  }]
22752
- }, ons), [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
22753
- class: 'vxe-checkbox--icon vxe-checkbox--checked-icon'
22754
- }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
22755
- class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon'
22756
- }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
22757
- class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon'
22758
- })].concat(defaultSlot || labelField ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
22759
- class: 'vxe-checkbox--label'
22760
- }, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, labelField))] : []))];
23437
+ }, ons), checkVNs)];
22761
23438
  },
22762
23439
  renderTreeSelectionCell: function renderTreeSelectionCell(params) {
22763
23440
  return Cell.renderTreeIcon(params, Cell.renderSelectionCell(params));
@@ -22779,12 +23456,16 @@ var Cell = {
22779
23456
  var labelField = checkboxOpts.labelField,
22780
23457
  property = checkboxOpts.checkField,
22781
23458
  halfField = checkboxOpts.halfField,
22782
- checkMethod = checkboxOpts.checkMethod;
23459
+ checkMethod = checkboxOpts.checkMethod,
23460
+ visibleMethod = checkboxOpts.visibleMethod;
22783
23461
  var slots = column.slots;
22784
23462
  var defaultSlot = slots ? slots.default : null;
22785
23463
  var checkboxSlot = slots ? slots.checkbox : null;
22786
23464
  var indeterminate = false;
22787
23465
  var isChecked = false;
23466
+ var isVisible = !visibleMethod || visibleMethod({
23467
+ row: row
23468
+ });
22788
23469
  var isDisabled = !!checkMethod;
22789
23470
  var ons;
22790
23471
 
@@ -22792,7 +23473,7 @@ var Cell = {
22792
23473
  isChecked = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, property);
22793
23474
  ons = {
22794
23475
  onClick: function onClick(evnt) {
22795
- if (!isDisabled) {
23476
+ if (!isDisabled && isVisible) {
22796
23477
  $table.triggerCheckRowEvent(evnt, params, !isChecked);
22797
23478
  }
22798
23479
  }
@@ -22812,24 +23493,39 @@ var Cell = {
22812
23493
  var checkboxParams = _objectSpread2(_objectSpread2({}, params), {}, {
22813
23494
  checked: isChecked,
22814
23495
  disabled: isDisabled,
23496
+ visible: isVisible,
22815
23497
  indeterminate: indeterminate
22816
23498
  });
22817
23499
 
22818
- return checkboxSlot ? $table.callSlot(checkboxSlot, checkboxParams) : [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', _objectSpread2({
23500
+ if (checkboxSlot) {
23501
+ return $table.callSlot(checkboxSlot, checkboxParams);
23502
+ }
23503
+
23504
+ var checkVNs = [];
23505
+
23506
+ if (isVisible) {
23507
+ checkVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
23508
+ class: 'vxe-checkbox--icon vxe-checkbox--checked-icon'
23509
+ }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
23510
+ class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon'
23511
+ }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
23512
+ class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon'
23513
+ }));
23514
+
23515
+ if (defaultSlot || labelField) {
23516
+ checkVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
23517
+ class: 'vxe-checkbox--label'
23518
+ }, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, labelField)));
23519
+ }
23520
+ }
23521
+
23522
+ return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', _objectSpread2({
22819
23523
  class: ['vxe-cell--checkbox', {
22820
23524
  'is--checked': isChecked,
22821
23525
  'is--disabled': isDisabled,
22822
23526
  'is--indeterminate': halfField && !isChecked ? row[halfField] : indeterminate
22823
23527
  }]
22824
- }, ons), [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
22825
- class: 'vxe-checkbox--icon vxe-checkbox--checked-icon'
22826
- }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
22827
- class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon'
22828
- }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
22829
- class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon'
22830
- })].concat(defaultSlot || labelField ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', {
22831
- class: 'vxe-checkbox--label'
22832
- }, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, labelField))] : []))];
23528
+ }, ons), checkVNs)];
22833
23529
  },
22834
23530
  renderTreeSelectionCellByProp: function renderTreeSelectionCellByProp(params) {
22835
23531
  return Cell.renderTreeIcon(params, Cell.renderSelectionCellByProp(params));
@@ -27649,6 +28345,9 @@ function renderTitle($xeform, item) {
27649
28345
 
27650
28346
 
27651
28347
 
28348
+
28349
+
28350
+
27652
28351
 
27653
28352
 
27654
28353
 
@@ -30049,6 +30748,9 @@ var Pulldown = Object.assign(pulldown, {
30049
30748
  }
30050
30749
  });
30051
30750
  /* harmony default export */ var packages_pulldown = (Pulldown);
30751
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.map.js
30752
+ var es_map = __webpack_require__("4ec9");
30753
+
30052
30754
  // CONCATENATED MODULE: ./packages/table/src/body.ts
30053
30755
 
30054
30756
 
@@ -30459,6 +31161,7 @@ var lineOffsetSizes = {
30459
31161
  var radioOpts = computeRadioOpts.value;
30460
31162
  var treeOpts = computeTreeOpts.value;
30461
31163
  var editOpts = computeEditOpts.value;
31164
+ var rowOpts = computeRowOpts.value;
30462
31165
  var rows = [];
30463
31166
  tableData.forEach(function (row, $rowIndex) {
30464
31167
  var trOn = {};
@@ -30474,7 +31177,7 @@ var lineOffsetSizes = {
30474
31177
 
30475
31178
  rowIndex = $xetable.getRowIndex(row); // 事件绑定
30476
31179
 
30477
- if (highlightHoverRow) {
31180
+ if (rowOpts.isHover || highlightHoverRow) {
30478
31181
  trOn.onMouseenter = function (evnt) {
30479
31182
  if (isOperateMouse()) {
30480
31183
  return;
@@ -30624,6 +31327,7 @@ var lineOffsetSizes = {
30624
31327
  var elemStore = tableInternalData.elemStore,
30625
31328
  lastScrollTop = tableInternalData.lastScrollTop,
30626
31329
  lastScrollLeft = tableInternalData.lastScrollLeft;
31330
+ var rowOpts = computeRowOpts.value;
30627
31331
  var tableHeader = refTableHeader.value;
30628
31332
  var tableBody = refTableBody.value;
30629
31333
  var tableFooter = refTableFooter.value;
@@ -30648,7 +31352,7 @@ var lineOffsetSizes = {
30648
31352
  tableInternalData.lastScrollLeft = scrollLeft;
30649
31353
  tableInternalData.lastScrollTime = Date.now();
30650
31354
 
30651
- if (highlightHoverRow) {
31355
+ if (rowOpts.isHover || highlightHoverRow) {
30652
31356
  $xetable.clearHoverRow();
30653
31357
  }
30654
31358
 
@@ -30782,6 +31486,7 @@ var lineOffsetSizes = {
30782
31486
  var scrollYLoad = tableReactData.scrollYLoad;
30783
31487
  var lastScrollTop = tableInternalData.lastScrollTop,
30784
31488
  lastScrollLeft = tableInternalData.lastScrollLeft;
31489
+ var rowOpts = computeRowOpts.value;
30785
31490
  var tableBody = refTableBody.value;
30786
31491
  var scrollBodyElem = refElem.value;
30787
31492
  var bodyElem = tableBody.$el;
@@ -30804,7 +31509,7 @@ var lineOffsetSizes = {
30804
31509
  tableInternalData.lastScrollLeft = scrollLeft;
30805
31510
  tableInternalData.lastScrollTime = Date.now();
30806
31511
 
30807
- if (highlightHoverRow) {
31512
+ if (rowOpts.isHover || highlightHoverRow) {
30808
31513
  $xetable.clearHoverRow();
30809
31514
  }
30810
31515
 
@@ -31007,6 +31712,7 @@ var lineOffsetSizes = {
31007
31712
 
31008
31713
 
31009
31714
 
31715
+
31010
31716
 
31011
31717
 
31012
31718
  var isWebkit = browse['-webkit'] && !browse.edge;
@@ -33173,12 +33879,12 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
33173
33879
  if (transform) {
33174
33880
  // 树结构自动转换
33175
33881
  if (true) {
33176
- if (!treeOpts.rowtKey) {
33177
- errLog('vxe.error.reqProp', ['tree-config.rowtKey']);
33882
+ if (!treeOpts.rowField) {
33883
+ errLog('vxe.error.reqProp', ['tree-config.rowField']);
33178
33884
  }
33179
33885
 
33180
- if (!treeOpts.parentKey) {
33181
- errLog('vxe.error.reqProp', ['tree-config.parentKey']);
33886
+ if (!treeOpts.parentField) {
33887
+ errLog('vxe.error.reqProp', ['tree-config.parentField']);
33182
33888
  }
33183
33889
 
33184
33890
  if (!treeOpts.children) {
@@ -33193,8 +33899,8 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
33193
33899
  }
33194
33900
 
33195
33901
  treeData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toArrayTree(fullData, {
33196
- key: treeOpts.rowtKey,
33197
- parentKey: treeOpts.parentKey,
33902
+ key: treeOpts.rowField,
33903
+ parentKey: treeOpts.parentField,
33198
33904
  children: treeOpts.children
33199
33905
  });
33200
33906
  fullData = treeData.slice(0);
@@ -33552,8 +34258,10 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
33552
34258
  var treeFullData = internalData.treeFullData;
33553
34259
  var treeOpts = computeTreeOpts.value;
33554
34260
  var fullData = [];
34261
+ var expandMaps = new Map();
33555
34262
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(treeFullData, function (row, index, items, path, parent) {
33556
- if (!parent || $xetable.findRowIndexOf(treeExpandeds, parent) > -1) {
34263
+ if (!parent || expandMaps.has(parent) && $xetable.findRowIndexOf(treeExpandeds, parent) > -1) {
34264
+ expandMaps.set(row, 1);
33557
34265
  fullData.push(row);
33558
34266
  }
33559
34267
  }, treeOpts);
@@ -33804,16 +34512,12 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
33804
34512
 
33805
34513
  if (oRow && row) {
33806
34514
  if (field) {
33807
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(oRow, field, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(record || row, field));
34515
+ var newValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(record || row, field);
34516
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(row, field, newValue);
34517
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(oRow, field, newValue);
33808
34518
  } else {
33809
- if (record) {
33810
- tableSourceData[rowIndex] = record;
33811
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.clear(row, undefined);
33812
- Object.assign(row, tablePrivateMethods.defineField(Object.assign({}, record)));
33813
- tablePrivateMethods.cacheRowMap(true);
33814
- } else {
33815
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.destructuring(oRow, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.clone(row, true));
33816
- }
34519
+ var newRecord = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.clone(_objectSpread2({}, record), true);
34520
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.destructuring(oRow, Object.assign(row, newRecord));
33817
34521
  }
33818
34522
  }
33819
34523
 
@@ -33838,9 +34542,9 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
33838
34542
  var treeOpts = computeTreeOpts.value;
33839
34543
  var children = treeOpts.children;
33840
34544
 
33841
- var rest = fullAllDataRowIdData[util_getRowid($xetable, row)];
34545
+ var parentRest = fullAllDataRowIdData[util_getRowid($xetable, row)];
33842
34546
 
33843
- var parentLevel = rest ? rest.level : 0;
34547
+ var parentLevel = parentRest ? parentRest.level : 0;
33844
34548
  return tableMethods.createData(childRecords).then(function (rows) {
33845
34549
  if (keepSource) {
33846
34550
  var rowid = util_getRowid($xetable, row);
@@ -34900,12 +35604,13 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
34900
35604
  * @param {Row} row 行对象
34901
35605
  */
34902
35606
  setCurrentRow: function setCurrentRow(row) {
35607
+ var rowOpts = computeRowOpts.value;
34903
35608
  var el = refElem.value;
34904
35609
  tableMethods.clearCurrentRow();
34905
35610
  tableMethods.clearCurrentColumn();
34906
35611
  reactData.currentRow = row;
34907
35612
 
34908
- if (props.highlightCurrentRow) {
35613
+ if (rowOpts.isCurrent || props.highlightCurrentRow) {
34909
35614
  if (el) {
34910
35615
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.arrayEach(el.querySelectorAll("[rowid=\"".concat(util_getRowid($xetable, row), "\"]")), function (elem) {
34911
35616
  return addClass(elem, 'row--current');
@@ -34966,7 +35671,8 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
34966
35671
  * 用于当前行,获取当前行的数据
34967
35672
  */
34968
35673
  getCurrentRecord: function getCurrentRecord() {
34969
- return props.highlightCurrentRow ? reactData.currentRow : null;
35674
+ var rowOpts = computeRowOpts.value;
35675
+ return rowOpts.isCurrent || props.highlightCurrentRow ? reactData.currentRow : null;
34970
35676
  },
34971
35677
 
34972
35678
  /**
@@ -35007,7 +35713,8 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
35007
35713
  return null;
35008
35714
  },
35009
35715
  getCurrentColumn: function getCurrentColumn() {
35010
- return props.highlightCurrentColumn ? reactData.currentColumn : null;
35716
+ var columnOpts = computeColumnOpts.value;
35717
+ return columnOpts.isCurrent || props.highlightCurrentColumn ? reactData.currentColumn : null;
35011
35718
  },
35012
35719
 
35013
35720
  /**
@@ -36022,6 +36729,7 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
36022
36729
  var editOpts = computeEditOpts.value;
36023
36730
  var treeOpts = computeTreeOpts.value;
36024
36731
  var menuList = computeMenuList.value;
36732
+ var rowOpts = computeRowOpts.value;
36025
36733
  var selected = editStore.selected,
36026
36734
  actived = editStore.actived;
36027
36735
  var keyCode = evnt.keyCode;
@@ -36102,7 +36810,7 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
36102
36810
  keyCtxTimeout = setTimeout(function () {
36103
36811
  internalData._keyCtx = false;
36104
36812
  }, 1000);
36105
- } else if (isEnter && !isAltKey && keyboardConfig && keyboardOpts.isEnter && (selected.row || actived.row || treeConfig && highlightCurrentRow && currentRow)) {
36813
+ } else if (isEnter && !isAltKey && keyboardConfig && keyboardOpts.isEnter && (selected.row || actived.row || treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow)) {
36106
36814
  // 退出选中
36107
36815
  if (hasCtrlKey) {
36108
36816
  // 如果是激活编辑状态,则取消编辑
@@ -36134,7 +36842,7 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
36134
36842
  $xetable.moveSelected(targetArgs, isLeftArrow, false, isRightArrow, true, evnt);
36135
36843
  }
36136
36844
  }
36137
- } else if (treeConfig && highlightCurrentRow && currentRow) {
36845
+ } else if (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
36138
36846
  // 如果是树形表格当前行回车移动到子节点
36139
36847
  var childrens = currentRow[treeOpts.children];
36140
36848
 
@@ -36160,7 +36868,7 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
36160
36868
  // 如果按下了方向键
36161
36869
  if (selected.row && selected.column) {
36162
36870
  $xetable.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
36163
- } else if ((isUpArrow || isDwArrow) && highlightCurrentRow) {
36871
+ } else if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
36164
36872
  // 当前行按键上下移动
36165
36873
  $xetable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
36166
36874
  }
@@ -36172,7 +36880,7 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
36172
36880
  } else if (actived.row || actived.column) {
36173
36881
  $xetable.moveTabSelected(actived.args, hasShiftKey, evnt);
36174
36882
  }
36175
- } else if (keyboardConfig && isEnableConf(editConfig) && (isDel || (treeConfig && highlightCurrentRow && currentRow ? isBack && keyboardOpts.isArrow : isBack))) {
36883
+ } else if (keyboardConfig && isEnableConf(editConfig) && (isDel || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow ? isBack && keyboardOpts.isArrow : isBack))) {
36176
36884
  if (!isEditStatus) {
36177
36885
  var delMethod = keyboardOpts.delMethod,
36178
36886
  backMethod = keyboardOpts.backMethod; // 如果是删除键
@@ -36206,7 +36914,7 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
36206
36914
  // 如果按下 del 键,更新表尾数据
36207
36915
  tableMethods.updateFooter();
36208
36916
  }
36209
- } else if (isBack && keyboardOpts.isArrow && treeConfig && highlightCurrentRow && currentRow) {
36917
+ } else if (isBack && keyboardOpts.isArrow && treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
36210
36918
  // 如果树形表格回退键关闭当前行返回父节点
36211
36919
  var _XEUtils$findTree = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(internalData.afterFullData, function (item) {
36212
36920
  return item === currentRow;
@@ -37046,6 +37754,7 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
37046
37754
  triggerHeaderCellClickEvent: function triggerHeaderCellClickEvent(evnt, params) {
37047
37755
  var _lastResizeTime = internalData._lastResizeTime;
37048
37756
  var sortOpts = computeSortOpts.value;
37757
+ var columnOpts = computeColumnOpts.value;
37049
37758
  var column = params.column;
37050
37759
  var cell = evnt.currentTarget;
37051
37760
 
@@ -37065,7 +37774,7 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
37065
37774
  cell: cell
37066
37775
  }, params), evnt);
37067
37776
 
37068
- if (props.highlightCurrentColumn) {
37777
+ if (columnOpts.isCurrent || props.highlightCurrentColumn) {
37069
37778
  tableMethods.setCurrentColumn(column);
37070
37779
  }
37071
37780
  },
@@ -37089,6 +37798,7 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
37089
37798
  var treeOpts = computeTreeOpts.value;
37090
37799
  var radioOpts = computeRadioOpts.value;
37091
37800
  var checkboxOpts = computeCheckboxOpts.value;
37801
+ var rowOpts = computeRowOpts.value;
37092
37802
  var actived = editStore.actived;
37093
37803
  var _params2 = params,
37094
37804
  row = _params2.row,
@@ -37127,7 +37837,7 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
37127
37837
  if (!triggerTreeNode) {
37128
37838
  if (!triggerExpandNode) {
37129
37839
  // 如果是高亮行
37130
- if (highlightCurrentRow) {
37840
+ if (rowOpts.isCurrent || highlightCurrentRow) {
37131
37841
  if (!triggerCheckbox && !triggerRadio) {
37132
37842
  tablePrivateMethods.triggerCurrentRowEvent(evnt, params);
37133
37843
  }
@@ -37520,6 +38230,7 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
37520
38230
  tablePrivateMethods.handleTableData();
37521
38231
  tablePrivateMethods.updateScrollYSpace();
37522
38232
  },
38233
+ updateVirtualTreeData: updateVirtualTreeData,
37523
38234
 
37524
38235
  /**
37525
38236
  * 处理固定列的显示状态
@@ -38154,6 +38865,8 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
38154
38865
  rightList = columnStore.rightList;
38155
38866
  var tooltipOpts = computeTooltipOpts.value;
38156
38867
  var treeOpts = computeTreeOpts.value;
38868
+ var rowOpts = computeRowOpts.value;
38869
+ var columnOpts = computeColumnOpts.value;
38157
38870
  var vSize = computeSize.value;
38158
38871
  var tableBorder = computeTableBorder.value;
38159
38872
  var mouseOpts = computeMouseOpts.value;
@@ -38162,7 +38875,7 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
38162
38875
  var isMenu = computeIsMenu.value;
38163
38876
  return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', {
38164
38877
  ref: refElem,
38165
- class: ['vxe-table', 'vxe-table--render-default', "tid_".concat(xID), "border--".concat(tableBorder), (_ref7 = {}, _defineProperty(_ref7, "size--".concat(vSize), vSize), _defineProperty(_ref7, 'vxe-editable', !!editConfig), _defineProperty(_ref7, 'cell--highlight', highlightCell), _defineProperty(_ref7, 'cell--selected', mouseConfig && mouseOpts.selected), _defineProperty(_ref7, 'cell--area', mouseConfig && mouseOpts.area), _defineProperty(_ref7, 'row--highlight', highlightHoverRow), _defineProperty(_ref7, 'column--highlight', highlightHoverColumn), _defineProperty(_ref7, 'is--header', showHeader), _defineProperty(_ref7, 'is--footer', showFooter), _defineProperty(_ref7, 'is--group', isGroup), _defineProperty(_ref7, 'is--tree-line', treeConfig && treeOpts.line), _defineProperty(_ref7, 'is--fixed-left', leftList.length), _defineProperty(_ref7, 'is--fixed-right', rightList.length), _defineProperty(_ref7, 'is--animat', !!props.animat), _defineProperty(_ref7, 'is--round', props.round), _defineProperty(_ref7, 'is--stripe', !treeConfig && stripe), _defineProperty(_ref7, 'is--loading', loading), _defineProperty(_ref7, 'is--empty', !loading && !tableData.length), _defineProperty(_ref7, 'is--scroll-y', overflowY), _defineProperty(_ref7, 'is--scroll-x', overflowX), _defineProperty(_ref7, 'is--virtual-x', scrollXLoad), _defineProperty(_ref7, 'is--virtual-y', scrollYLoad), _ref7)],
38878
+ class: ['vxe-table', 'vxe-table--render-default', "tid_".concat(xID), "border--".concat(tableBorder), (_ref7 = {}, _defineProperty(_ref7, "size--".concat(vSize), vSize), _defineProperty(_ref7, 'vxe-editable', !!editConfig), _defineProperty(_ref7, 'cell--highlight', highlightCell), _defineProperty(_ref7, 'cell--selected', mouseConfig && mouseOpts.selected), _defineProperty(_ref7, 'cell--area', mouseConfig && mouseOpts.area), _defineProperty(_ref7, 'row--highlight', rowOpts.isHover || highlightHoverRow), _defineProperty(_ref7, 'column--highlight', columnOpts.isHover || highlightHoverColumn), _defineProperty(_ref7, 'is--header', showHeader), _defineProperty(_ref7, 'is--footer', showFooter), _defineProperty(_ref7, 'is--group', isGroup), _defineProperty(_ref7, 'is--tree-line', treeConfig && treeOpts.line), _defineProperty(_ref7, 'is--fixed-left', leftList.length), _defineProperty(_ref7, 'is--fixed-right', rightList.length), _defineProperty(_ref7, 'is--animat', !!props.animat), _defineProperty(_ref7, 'is--round', props.round), _defineProperty(_ref7, 'is--stripe', !treeConfig && stripe), _defineProperty(_ref7, 'is--loading', loading), _defineProperty(_ref7, 'is--empty', !loading && !tableData.length), _defineProperty(_ref7, 'is--scroll-y', overflowY), _defineProperty(_ref7, 'is--scroll-x', overflowX), _defineProperty(_ref7, 'is--virtual-x', scrollXLoad), _defineProperty(_ref7, 'is--virtual-y', scrollYLoad), _ref7)],
38166
38879
  onKeydown: keydownEvent
38167
38880
  }, [
38168
38881
  /**