vxe-pc-ui 3.15.25 → 3.15.26
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/es/icon/style.css +1 -1
- package/es/list/src/list.js +560 -13
- package/es/list/src/util.js +8 -0
- package/es/list/style.css +10 -4
- package/es/list/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +4 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-list/style.css +10 -4
- package/es/vxe-list/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +652 -16
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +605 -11
- package/lib/list/src/list.min.js +1 -1
- package/lib/list/src/util.js +14 -0
- package/lib/list/src/util.min.js +1 -0
- package/lib/list/style/style.css +10 -4
- package/lib/list/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +4 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-list/style/style.css +10 -4
- package/lib/vxe-list/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/list/src/list.ts +588 -13
- package/packages/list/src/util.ts +11 -0
- package/packages/ui/index.ts +3 -0
- package/styles/components/list.scss +8 -4
- package/types/components/list.d.ts +120 -4
- package/types/components/tree.d.ts +3 -7
- package/types/ui/menus.d.ts +13 -1
- /package/es/icon/{iconfont.1783247770465.ttf → iconfont.1783301643461.ttf} +0 -0
- /package/es/icon/{iconfont.1783247770465.woff → iconfont.1783301643461.woff} +0 -0
- /package/es/icon/{iconfont.1783247770465.woff2 → iconfont.1783301643461.woff2} +0 -0
- /package/es/{iconfont.1783247770465.ttf → iconfont.1783301643461.ttf} +0 -0
- /package/es/{iconfont.1783247770465.woff → iconfont.1783301643461.woff} +0 -0
- /package/es/{iconfont.1783247770465.woff2 → iconfont.1783301643461.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1783247770465.ttf → iconfont.1783301643461.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1783247770465.woff → iconfont.1783301643461.woff} +0 -0
- /package/lib/icon/style/{iconfont.1783247770465.woff2 → iconfont.1783301643461.woff2} +0 -0
- /package/lib/{iconfont.1783247770465.ttf → iconfont.1783301643461.ttf} +0 -0
- /package/lib/{iconfont.1783247770465.woff → iconfont.1783301643461.woff} +0 -0
- /package/lib/{iconfont.1783247770465.woff2 → iconfont.1783301643461.woff2} +0 -0
package/lib/index.umd.js
CHANGED
|
@@ -5711,6 +5711,36 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
|
|
5711
5711
|
});
|
|
5712
5712
|
|
|
5713
5713
|
|
|
5714
|
+
/***/ }),
|
|
5715
|
+
|
|
5716
|
+
/***/ 8980:
|
|
5717
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
5718
|
+
|
|
5719
|
+
"use strict";
|
|
5720
|
+
|
|
5721
|
+
var $ = __webpack_require__(6518);
|
|
5722
|
+
var $findIndex = (__webpack_require__(9213).findIndex);
|
|
5723
|
+
var addToUnscopables = __webpack_require__(6469);
|
|
5724
|
+
|
|
5725
|
+
var FIND_INDEX = 'findIndex';
|
|
5726
|
+
var SKIPS_HOLES = true;
|
|
5727
|
+
|
|
5728
|
+
// Shouldn't skip holes
|
|
5729
|
+
// eslint-disable-next-line es/no-array-prototype-findindex -- testing
|
|
5730
|
+
if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });
|
|
5731
|
+
|
|
5732
|
+
// `Array.prototype.findIndex` method
|
|
5733
|
+
// https://tc39.es/ecma262/#sec-array.prototype.findindex
|
|
5734
|
+
$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
|
|
5735
|
+
findIndex: function findIndex(callbackfn /* , that = undefined */) {
|
|
5736
|
+
return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
5737
|
+
}
|
|
5738
|
+
});
|
|
5739
|
+
|
|
5740
|
+
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
|
5741
|
+
addToUnscopables(FIND_INDEX);
|
|
5742
|
+
|
|
5743
|
+
|
|
5714
5744
|
/***/ }),
|
|
5715
5745
|
|
|
5716
5746
|
/***/ 113:
|
|
@@ -13226,7 +13256,7 @@ var es_array_join = __webpack_require__(8598);
|
|
|
13226
13256
|
|
|
13227
13257
|
|
|
13228
13258
|
var log_log = VxeUI.log;
|
|
13229
|
-
var uiVersion = "ui v".concat("3.15.
|
|
13259
|
+
var uiVersion = "ui v".concat("3.15.26");
|
|
13230
13260
|
function createComponentLog(name) {
|
|
13231
13261
|
var tableVersion = VxeUI.tableVersion ? "table v".concat(VxeUI.tableVersion) : '';
|
|
13232
13262
|
var ganttVersion = VxeUI.ganttVersion ? "gantt v".concat(VxeUI.ganttVersion) : '';
|
|
@@ -13244,7 +13274,7 @@ var errLog = log_log.create('error', uiVersion);
|
|
|
13244
13274
|
|
|
13245
13275
|
|
|
13246
13276
|
|
|
13247
|
-
var ui_version = "3.15.
|
|
13277
|
+
var ui_version = "3.15.26";
|
|
13248
13278
|
VxeUI.uiVersion = ui_version;
|
|
13249
13279
|
VxeUI.dynamicApp = dynamicApp;
|
|
13250
13280
|
function config(options) {
|
|
@@ -13467,6 +13497,9 @@ setConfig({
|
|
|
13467
13497
|
listView: {},
|
|
13468
13498
|
list: {
|
|
13469
13499
|
// size: null,
|
|
13500
|
+
rowConfig: {
|
|
13501
|
+
contentField: 'label'
|
|
13502
|
+
},
|
|
13470
13503
|
dragConfig: {
|
|
13471
13504
|
showIcon: true,
|
|
13472
13505
|
animation: true,
|
|
@@ -21330,6 +21363,8 @@ function enNodeValue(nodeid) {
|
|
|
21330
21363
|
function deNodeValue(nodeid) {
|
|
21331
21364
|
return nodeid ? decodeURIComponent("".concat(nodeid)) : nodeid;
|
|
21332
21365
|
}
|
|
21366
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find-index.js
|
|
21367
|
+
var es_array_find_index = __webpack_require__(8980);
|
|
21333
21368
|
;// ./packages/list/src/store.ts
|
|
21334
21369
|
// 跨表拖拽
|
|
21335
21370
|
var crossListDragRowGlobal = {
|
|
@@ -21403,6 +21438,15 @@ function clearColAnimate(elem, clss) {
|
|
|
21403
21438
|
}
|
|
21404
21439
|
}, 500);
|
|
21405
21440
|
}
|
|
21441
|
+
;// ./packages/list/src/util.ts
|
|
21442
|
+
function getItemCacheObj(item) {
|
|
21443
|
+
return {
|
|
21444
|
+
item: item,
|
|
21445
|
+
index: -1,
|
|
21446
|
+
$index: -1,
|
|
21447
|
+
_index: -1
|
|
21448
|
+
};
|
|
21449
|
+
}
|
|
21406
21450
|
;// ./packages/list/src/list.ts
|
|
21407
21451
|
|
|
21408
21452
|
|
|
@@ -21431,12 +21475,17 @@ function clearColAnimate(elem, clss) {
|
|
|
21431
21475
|
|
|
21432
21476
|
|
|
21433
21477
|
|
|
21478
|
+
|
|
21479
|
+
|
|
21480
|
+
|
|
21434
21481
|
|
|
21435
21482
|
|
|
21436
21483
|
|
|
21437
21484
|
|
|
21438
21485
|
var list_createComponentLog = createComponentLog('tree'),
|
|
21486
|
+
list_warnLog = list_createComponentLog.warnLog,
|
|
21439
21487
|
list_errLog = list_createComponentLog.errLog;
|
|
21488
|
+
var crossListDragRowObj = null;
|
|
21440
21489
|
function eqRowKey(rowKey1, rowKey2) {
|
|
21441
21490
|
return '' + rowKey1 === '' + rowKey2;
|
|
21442
21491
|
}
|
|
@@ -21466,15 +21515,20 @@ function list_createReactData() {
|
|
|
21466
21515
|
updateCheckboxFlag: 1,
|
|
21467
21516
|
isAllChecked: false,
|
|
21468
21517
|
isAllIndeterminate: false,
|
|
21518
|
+
insertRowFlag: 1,
|
|
21519
|
+
removeRowFlag: 1,
|
|
21469
21520
|
dragRow: null,
|
|
21470
|
-
dragTipText: ''
|
|
21521
|
+
dragTipText: '',
|
|
21522
|
+
isCrossDragRow: false
|
|
21471
21523
|
};
|
|
21472
21524
|
}
|
|
21473
21525
|
function list_createInternalData() {
|
|
21474
21526
|
return {
|
|
21475
21527
|
resizeObserver: undefined,
|
|
21476
21528
|
fullData: [],
|
|
21529
|
+
afterList: [],
|
|
21477
21530
|
fullKeyMaps: {},
|
|
21531
|
+
rowMaps: {},
|
|
21478
21532
|
lastScrollLeft: 0,
|
|
21479
21533
|
lastScrollTop: 0,
|
|
21480
21534
|
scrollYStore: {
|
|
@@ -21485,7 +21539,9 @@ function list_createInternalData() {
|
|
|
21485
21539
|
rowHeight: 0
|
|
21486
21540
|
},
|
|
21487
21541
|
currentRow: null,
|
|
21488
|
-
selectCheckboxMaps: {}
|
|
21542
|
+
selectCheckboxMaps: {},
|
|
21543
|
+
insertRowMaps: {},
|
|
21544
|
+
removeRowMaps: {}
|
|
21489
21545
|
// prevDragRow: null,
|
|
21490
21546
|
// prevDragPos: ''
|
|
21491
21547
|
};
|
|
@@ -21512,6 +21568,12 @@ function list_createInternalData() {
|
|
|
21512
21568
|
}
|
|
21513
21569
|
},
|
|
21514
21570
|
syncResize: [Boolean, String, Number],
|
|
21571
|
+
showSeq: {
|
|
21572
|
+
type: Boolean,
|
|
21573
|
+
default: function _default() {
|
|
21574
|
+
return getConfig().list.showSeq;
|
|
21575
|
+
}
|
|
21576
|
+
},
|
|
21515
21577
|
showRadio: {
|
|
21516
21578
|
type: Boolean,
|
|
21517
21579
|
default: function _default() {
|
|
@@ -21530,6 +21592,7 @@ function list_createInternalData() {
|
|
|
21530
21592
|
checkboxConfig: Object,
|
|
21531
21593
|
rowConfig: Object,
|
|
21532
21594
|
dragConfig: Object,
|
|
21595
|
+
menuConfig: Object,
|
|
21533
21596
|
virtualYConfig: Object,
|
|
21534
21597
|
scrollY: Object
|
|
21535
21598
|
},
|
|
@@ -21592,6 +21655,11 @@ function list_createInternalData() {
|
|
|
21592
21655
|
showIcon: true
|
|
21593
21656
|
}, getConfig().list.checkboxConfig, props.checkboxConfig);
|
|
21594
21657
|
},
|
|
21658
|
+
computeMenuOpts: function computeMenuOpts() {
|
|
21659
|
+
var $xeList = this;
|
|
21660
|
+
var props = $xeList;
|
|
21661
|
+
return Object.assign({}, getConfig().list.menuConfig, props.menuConfig);
|
|
21662
|
+
},
|
|
21595
21663
|
computeWrapperStyles: function computeWrapperStyles() {
|
|
21596
21664
|
var $xeList = this;
|
|
21597
21665
|
var rowHeight = $xeList.computeRowHeight;
|
|
@@ -21700,6 +21768,30 @@ function list_createInternalData() {
|
|
|
21700
21768
|
internalData.selectCheckboxMaps = selectMaps;
|
|
21701
21769
|
$xeList.updateCheckboxStatus();
|
|
21702
21770
|
},
|
|
21771
|
+
updateAfterDataIndex: function updateAfterDataIndex() {
|
|
21772
|
+
var $xeList = this;
|
|
21773
|
+
var internalData = $xeList.internalData;
|
|
21774
|
+
var afterList = internalData.afterList,
|
|
21775
|
+
rowMaps = internalData.rowMaps;
|
|
21776
|
+
var keyField = $xeList.computeKeyField;
|
|
21777
|
+
var vtIndex = 0;
|
|
21778
|
+
afterList.forEach(function (item, index) {
|
|
21779
|
+
var roweid = getRowIdByField(item, keyField);
|
|
21780
|
+
var rowRest = rowMaps[roweid];
|
|
21781
|
+
if (rowRest) {
|
|
21782
|
+
rowRest._index = vtIndex;
|
|
21783
|
+
} else {
|
|
21784
|
+
var rest = {
|
|
21785
|
+
item: item,
|
|
21786
|
+
index: index,
|
|
21787
|
+
$index: -1,
|
|
21788
|
+
_index: vtIndex
|
|
21789
|
+
};
|
|
21790
|
+
rowMaps[roweid] = rest;
|
|
21791
|
+
}
|
|
21792
|
+
vtIndex++;
|
|
21793
|
+
});
|
|
21794
|
+
},
|
|
21703
21795
|
cacheRowMap: function cacheRowMap() {
|
|
21704
21796
|
var $xeList = this;
|
|
21705
21797
|
var internalData = $xeList.internalData;
|
|
@@ -21722,17 +21814,21 @@ function list_createInternalData() {
|
|
|
21722
21814
|
var internalData = $xeList.internalData;
|
|
21723
21815
|
var scrollYStore = internalData.scrollYStore;
|
|
21724
21816
|
var sYOpts = $xeList.computeSYOpts;
|
|
21725
|
-
var fullData = datas
|
|
21817
|
+
var fullData = datas ? datas.slice(0) : [];
|
|
21726
21818
|
Object.assign(scrollYStore, {
|
|
21727
21819
|
startIndex: 0,
|
|
21728
21820
|
endIndex: 1,
|
|
21729
21821
|
visibleSize: 0
|
|
21730
21822
|
});
|
|
21731
21823
|
internalData.fullData = fullData;
|
|
21824
|
+
internalData.insertRowMaps = {};
|
|
21825
|
+
reactData.insertRowFlag++;
|
|
21826
|
+
internalData.removeRowMaps = {};
|
|
21827
|
+
reactData.removeRowFlag++;
|
|
21732
21828
|
// 如果gt为0,则总是启用
|
|
21733
21829
|
reactData.scrollYLoad = !!sYOpts.enabled && sYOpts.gt > -1 && (sYOpts.gt === 0 || sYOpts.gt <= fullData.length);
|
|
21734
21830
|
$xeList.cacheRowMap();
|
|
21735
|
-
$xeList.handleData();
|
|
21831
|
+
$xeList.handleData(true);
|
|
21736
21832
|
$xeList.updateRadioModeValue();
|
|
21737
21833
|
$xeList.updateCheckboxModeValue();
|
|
21738
21834
|
return $xeList.computeScrollLoad().then(function () {
|
|
@@ -21795,14 +21891,37 @@ function list_createInternalData() {
|
|
|
21795
21891
|
reactData.bodyHeight = scrollYLoad ? fullData.length * scrollYStore.rowHeight : 0;
|
|
21796
21892
|
reactData.topSpaceHeight = scrollYLoad ? Math.max(scrollYStore.startIndex * scrollYStore.rowHeight, 0) : 0;
|
|
21797
21893
|
},
|
|
21798
|
-
|
|
21894
|
+
updateAfterFullData: function updateAfterFullData() {
|
|
21895
|
+
var $xeList = this;
|
|
21896
|
+
var internalData = $xeList.internalData;
|
|
21897
|
+
var fullData = internalData.fullData;
|
|
21898
|
+
internalData.afterList = fullData.slice(0);
|
|
21899
|
+
$xeList.updateAfterDataIndex();
|
|
21900
|
+
},
|
|
21901
|
+
handleData: function handleData(force) {
|
|
21799
21902
|
var $xeList = this;
|
|
21800
21903
|
var reactData = $xeList.reactData;
|
|
21801
21904
|
var internalData = $xeList.internalData;
|
|
21802
21905
|
var scrollYLoad = reactData.scrollYLoad;
|
|
21803
21906
|
var fullData = internalData.fullData,
|
|
21804
|
-
scrollYStore = internalData.scrollYStore
|
|
21805
|
-
|
|
21907
|
+
scrollYStore = internalData.scrollYStore,
|
|
21908
|
+
rowMaps = internalData.rowMaps;
|
|
21909
|
+
var keyField = $xeList.computeKeyField;
|
|
21910
|
+
if (force) {
|
|
21911
|
+
// 更新数据,处理筛选和排序
|
|
21912
|
+
$xeList.updateAfterFullData();
|
|
21913
|
+
}
|
|
21914
|
+
var rowList = scrollYLoad ? fullData.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullData.slice(0);
|
|
21915
|
+
if (keyField) {
|
|
21916
|
+
rowList.forEach(function (item, $index) {
|
|
21917
|
+
var rowid = getRowIdByField(item, keyField);
|
|
21918
|
+
var rowRest = rowMaps[rowid];
|
|
21919
|
+
if (rowRest) {
|
|
21920
|
+
rowRest.$index = $index;
|
|
21921
|
+
}
|
|
21922
|
+
});
|
|
21923
|
+
}
|
|
21924
|
+
reactData.rowList = rowList;
|
|
21806
21925
|
return $xeList.$nextTick();
|
|
21807
21926
|
},
|
|
21808
21927
|
updateYData: function updateYData() {
|
|
@@ -22405,6 +22524,12 @@ function list_createInternalData() {
|
|
|
22405
22524
|
checked: isChecked
|
|
22406
22525
|
}, evnt);
|
|
22407
22526
|
},
|
|
22527
|
+
handleRowDragEndClearStatus: function handleRowDragEndClearStatus() {
|
|
22528
|
+
var $xeList = this;
|
|
22529
|
+
$xeList.clearRowDragData();
|
|
22530
|
+
$xeList.clearCrossListDragStatus();
|
|
22531
|
+
$xeList.recalculate();
|
|
22532
|
+
},
|
|
22408
22533
|
clearRowDropOrigin: function clearRowDropOrigin() {
|
|
22409
22534
|
var $xeList = this;
|
|
22410
22535
|
var el = $xeList.$refs.refElem;
|
|
@@ -22462,7 +22587,7 @@ function list_createInternalData() {
|
|
|
22462
22587
|
clearCrossListDragStatus: function clearCrossListDragStatus() {
|
|
22463
22588
|
var $xeList = this;
|
|
22464
22589
|
var crossListDragRowInfo = getCrossListDragRowInfo($xeList);
|
|
22465
|
-
|
|
22590
|
+
crossListDragRowObj = null;
|
|
22466
22591
|
crossListDragRowInfo.row = null;
|
|
22467
22592
|
},
|
|
22468
22593
|
clearDragStatus: function clearDragStatus() {
|
|
@@ -22479,10 +22604,12 @@ function list_createInternalData() {
|
|
|
22479
22604
|
handleRowDragMousedownEvent: function handleRowDragMousedownEvent(evnt, params) {
|
|
22480
22605
|
var $xeList = this;
|
|
22481
22606
|
var reactData = $xeList.reactData;
|
|
22607
|
+
var crossListDragRowInfo = getCrossListDragRowInfo($xeList);
|
|
22482
22608
|
evnt.stopPropagation();
|
|
22483
22609
|
var row = params.row;
|
|
22484
22610
|
var dragConfig = $xeList.computeDragOpts;
|
|
22485
|
-
var
|
|
22611
|
+
var isCrossListDrag = dragConfig.isCrossListDrag,
|
|
22612
|
+
trigger = dragConfig.trigger,
|
|
22486
22613
|
dragStartMethod = dragConfig.dragStartMethod;
|
|
22487
22614
|
var dragEl = evnt.currentTarget;
|
|
22488
22615
|
var rowEl = trigger === 'row' ? dragEl : dragEl.parentElement.parentElement;
|
|
@@ -22493,6 +22620,13 @@ function list_createInternalData() {
|
|
|
22493
22620
|
$xeList.hideDropTip();
|
|
22494
22621
|
return;
|
|
22495
22622
|
}
|
|
22623
|
+
if (isCrossListDrag) {
|
|
22624
|
+
crossListDragRowInfo.row = row;
|
|
22625
|
+
crossListDragRowObj = {
|
|
22626
|
+
$oldList: $xeList,
|
|
22627
|
+
$newList: null
|
|
22628
|
+
};
|
|
22629
|
+
}
|
|
22496
22630
|
var dragstartEventParams = {
|
|
22497
22631
|
row: row
|
|
22498
22632
|
};
|
|
@@ -22707,6 +22841,17 @@ function list_createInternalData() {
|
|
|
22707
22841
|
var dragRow = reactData.dragRow;
|
|
22708
22842
|
var prevDragRow = internalData.prevDragRow,
|
|
22709
22843
|
prevDragPos = internalData.prevDragPos;
|
|
22844
|
+
var dragConfig = $xeList.computeDragOpts;
|
|
22845
|
+
var isCrossListDrag = dragConfig.isCrossListDrag;
|
|
22846
|
+
// 跨列表拖拽
|
|
22847
|
+
if (isCrossListDrag && crossListDragRowObj) {
|
|
22848
|
+
var _crossListDragRowObj = crossListDragRowObj,
|
|
22849
|
+
$newList = _crossListDragRowObj.$newList;
|
|
22850
|
+
if ($newList && $newList.xID !== $xeList.xID) {
|
|
22851
|
+
$newList.handleCrossListRowDragInsertEvent(evnt);
|
|
22852
|
+
return;
|
|
22853
|
+
}
|
|
22854
|
+
}
|
|
22710
22855
|
$xeList.handleRowDragSwapEvent(evnt, dragRow, prevDragRow, prevDragPos);
|
|
22711
22856
|
},
|
|
22712
22857
|
handleRowDragDragoverEvent: function handleRowDragDragoverEvent(evnt) {
|
|
@@ -22805,6 +22950,477 @@ function list_createInternalData() {
|
|
|
22805
22950
|
row: row
|
|
22806
22951
|
}, evnt);
|
|
22807
22952
|
},
|
|
22953
|
+
insertListRow: function insertListRow(newRecords, isAppend) {
|
|
22954
|
+
var $xeList = this;
|
|
22955
|
+
var internalData = $xeList.internalData;
|
|
22956
|
+
var fullData = internalData.fullData,
|
|
22957
|
+
rowMaps = internalData.rowMaps;
|
|
22958
|
+
var keyField = $xeList.computeKeyField;
|
|
22959
|
+
var funcName = isAppend ? 'push' : 'unshift';
|
|
22960
|
+
newRecords.forEach(function (item) {
|
|
22961
|
+
var rowid = getRowIdByField(item, keyField);
|
|
22962
|
+
var rowRest = getItemCacheObj(item);
|
|
22963
|
+
fullData[funcName](item);
|
|
22964
|
+
rowMaps[rowid] = rowRest;
|
|
22965
|
+
});
|
|
22966
|
+
},
|
|
22967
|
+
handleInsertRowAt: function handleInsertRowAt(records, targetRowOrRowKey, isInsertNextRow) {
|
|
22968
|
+
var $xeList = this;
|
|
22969
|
+
var reactData = $xeList.reactData;
|
|
22970
|
+
var internalData = $xeList.internalData;
|
|
22971
|
+
var fullData = internalData.fullData,
|
|
22972
|
+
rowMaps = internalData.rowMaps,
|
|
22973
|
+
removeRowMaps = internalData.removeRowMaps,
|
|
22974
|
+
insertRowMaps = internalData.insertRowMaps;
|
|
22975
|
+
var keyField = $xeList.computeKeyField;
|
|
22976
|
+
if (!keyField) {
|
|
22977
|
+
list_errLog('vxe.error.reqSupportProp', ['insert() | insertAt() | insertNextAt()', 'row-config.keyField']);
|
|
22978
|
+
return Promise.resolve({
|
|
22979
|
+
row: null,
|
|
22980
|
+
rows: []
|
|
22981
|
+
});
|
|
22982
|
+
}
|
|
22983
|
+
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(records)) {
|
|
22984
|
+
records = [records];
|
|
22985
|
+
}
|
|
22986
|
+
var targetRow = targetRowOrRowKey;
|
|
22987
|
+
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(targetRowOrRowKey) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(targetRowOrRowKey)) {
|
|
22988
|
+
var rowRest = rowMaps[targetRowOrRowKey];
|
|
22989
|
+
if (rowRest) {
|
|
22990
|
+
targetRow = rowRest.item;
|
|
22991
|
+
}
|
|
22992
|
+
}
|
|
22993
|
+
if (!records.length) {
|
|
22994
|
+
return Promise.resolve({
|
|
22995
|
+
row: null,
|
|
22996
|
+
rows: []
|
|
22997
|
+
});
|
|
22998
|
+
}
|
|
22999
|
+
var newRecords = records.map(function (record) {
|
|
23000
|
+
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign({}, record);
|
|
23001
|
+
});
|
|
23002
|
+
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(targetRow)) {
|
|
23003
|
+
$xeList.insertListRow(newRecords, false);
|
|
23004
|
+
} else {
|
|
23005
|
+
if (targetRow === -1) {
|
|
23006
|
+
$xeList.insertListRow(newRecords, true);
|
|
23007
|
+
} else {
|
|
23008
|
+
var rowIndex = fullData.findIndex(function (item) {
|
|
23009
|
+
return targetRow[keyField] === item[keyField];
|
|
23010
|
+
});
|
|
23011
|
+
if (rowIndex > -1) {
|
|
23012
|
+
newRecords.forEach(function (item) {
|
|
23013
|
+
var rowid = getRowIdByField(item, keyField);
|
|
23014
|
+
var rowRest = getItemCacheObj(item);
|
|
23015
|
+
rowMaps[rowid] = rowRest;
|
|
23016
|
+
});
|
|
23017
|
+
var targetIndex = rowIndex;
|
|
23018
|
+
if (isInsertNextRow) {
|
|
23019
|
+
targetIndex = targetIndex + 1;
|
|
23020
|
+
}
|
|
23021
|
+
fullData.splice.apply(fullData, [targetIndex, 0].concat(_toConsumableArray(newRecords)));
|
|
23022
|
+
} else {
|
|
23023
|
+
list_warnLog('vxe.error.unableInsert');
|
|
23024
|
+
$xeList.insertListRow(newRecords, true);
|
|
23025
|
+
}
|
|
23026
|
+
}
|
|
23027
|
+
}
|
|
23028
|
+
newRecords.forEach(function (newItem) {
|
|
23029
|
+
var rowid = getRowIdByField(newItem, keyField);
|
|
23030
|
+
// 如果是被删除的数据,则还原状态
|
|
23031
|
+
if (removeRowMaps[rowid]) {
|
|
23032
|
+
delete removeRowMaps[rowid];
|
|
23033
|
+
if (insertRowMaps[rowid]) {
|
|
23034
|
+
delete insertRowMaps[rowid];
|
|
23035
|
+
}
|
|
23036
|
+
} else {
|
|
23037
|
+
insertRowMaps[rowid] = newItem;
|
|
23038
|
+
}
|
|
23039
|
+
});
|
|
23040
|
+
reactData.removeRowFlag++;
|
|
23041
|
+
reactData.insertRowFlag++;
|
|
23042
|
+
$xeList.cacheRowMap();
|
|
23043
|
+
$xeList.handleData(true);
|
|
23044
|
+
$xeList.updateAfterDataIndex();
|
|
23045
|
+
$xeList.updateCheckboxStatus();
|
|
23046
|
+
if (reactData.scrollYLoad) {
|
|
23047
|
+
$xeList.updateYSpace();
|
|
23048
|
+
}
|
|
23049
|
+
return $xeList.$nextTick().then(function () {
|
|
23050
|
+
return {
|
|
23051
|
+
row: newRecords.length ? newRecords[newRecords.length - 1] : null,
|
|
23052
|
+
rows: newRecords
|
|
23053
|
+
};
|
|
23054
|
+
});
|
|
23055
|
+
},
|
|
23056
|
+
insert: function insert(records) {
|
|
23057
|
+
var $xeList = this;
|
|
23058
|
+
return $xeList.handleInsertRowAt(records, null);
|
|
23059
|
+
},
|
|
23060
|
+
insertAt: function insertAt(records, targetRowOrRowKey) {
|
|
23061
|
+
var $xeList = this;
|
|
23062
|
+
return $xeList.handleInsertRowAt(records, targetRowOrRowKey);
|
|
23063
|
+
},
|
|
23064
|
+
insertNextAt: function insertNextAt(records, targetRowOrRowKey) {
|
|
23065
|
+
var $xeList = this;
|
|
23066
|
+
return $xeList.handleInsertRowAt(records, targetRowOrRowKey, true);
|
|
23067
|
+
},
|
|
23068
|
+
getInsertRecords: function getInsertRecords() {
|
|
23069
|
+
var $xeList = this;
|
|
23070
|
+
var internalData = $xeList.internalData;
|
|
23071
|
+
var insertRowMaps = internalData.insertRowMaps;
|
|
23072
|
+
var insertRecords = [];
|
|
23073
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(insertRowMaps, function (item) {
|
|
23074
|
+
insertRecords.push(item);
|
|
23075
|
+
});
|
|
23076
|
+
return insertRecords;
|
|
23077
|
+
},
|
|
23078
|
+
isInsertByRow: function isInsertByRow(row) {
|
|
23079
|
+
var $xeList = this;
|
|
23080
|
+
var reactData = $xeList.reactData;
|
|
23081
|
+
var internalData = $xeList.internalData;
|
|
23082
|
+
var rowid = $xeList.getRowId(row);
|
|
23083
|
+
return !!reactData.insertRowFlag && !!internalData.insertRowMaps[rowid];
|
|
23084
|
+
},
|
|
23085
|
+
remove: function remove(rows) {
|
|
23086
|
+
var $xeList = this;
|
|
23087
|
+
var reactData = $xeList.reactData;
|
|
23088
|
+
var internalData = $xeList.internalData;
|
|
23089
|
+
var fullData = internalData.fullData,
|
|
23090
|
+
insertRowMaps = internalData.insertRowMaps,
|
|
23091
|
+
removeRowMaps = internalData.removeRowMaps;
|
|
23092
|
+
var keyField = $xeList.computeKeyField;
|
|
23093
|
+
if (!keyField) {
|
|
23094
|
+
list_errLog('vxe.error.reqSupportProp', ['insert() | insertAt() | insertNextAt()', 'row-config.keyField']);
|
|
23095
|
+
return Promise.resolve({
|
|
23096
|
+
row: null,
|
|
23097
|
+
rows: []
|
|
23098
|
+
});
|
|
23099
|
+
}
|
|
23100
|
+
var delList = [];
|
|
23101
|
+
if (!rows) {
|
|
23102
|
+
rows = fullData;
|
|
23103
|
+
} else if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
|
|
23104
|
+
rows = [rows];
|
|
23105
|
+
}
|
|
23106
|
+
if (!rows.length) {
|
|
23107
|
+
return Promise.resolve({
|
|
23108
|
+
row: null,
|
|
23109
|
+
rows: []
|
|
23110
|
+
});
|
|
23111
|
+
}
|
|
23112
|
+
// 如果是新增,则保存记录
|
|
23113
|
+
rows.forEach(function (item) {
|
|
23114
|
+
if (!$xeList.isInsertByRow(item)) {
|
|
23115
|
+
var rowid = $xeList.getRowId(item);
|
|
23116
|
+
removeRowMaps[rowid] = item;
|
|
23117
|
+
}
|
|
23118
|
+
});
|
|
23119
|
+
// 从数据源中移除
|
|
23120
|
+
if (fullData === rows) {
|
|
23121
|
+
rows = delList = fullData.slice(0);
|
|
23122
|
+
internalData.fullData = [];
|
|
23123
|
+
} else {
|
|
23124
|
+
rows.forEach(function (item) {
|
|
23125
|
+
var rowid = $xeList.getRowId(item);
|
|
23126
|
+
var rowIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(fullData, function (item) {
|
|
23127
|
+
return rowid === $xeList.getRowId(item);
|
|
23128
|
+
});
|
|
23129
|
+
if (rowIndex > -1) {
|
|
23130
|
+
var rItems = fullData.splice(rowIndex, 1);
|
|
23131
|
+
delList.push(rItems[0]);
|
|
23132
|
+
}
|
|
23133
|
+
});
|
|
23134
|
+
}
|
|
23135
|
+
// 从新增中移除已删除的数据
|
|
23136
|
+
rows.forEach(function (item) {
|
|
23137
|
+
var rowid = $xeList.getRowId(item);
|
|
23138
|
+
if (insertRowMaps[rowid]) {
|
|
23139
|
+
delete insertRowMaps[rowid];
|
|
23140
|
+
}
|
|
23141
|
+
});
|
|
23142
|
+
reactData.removeRowFlag++;
|
|
23143
|
+
reactData.insertRowFlag++;
|
|
23144
|
+
$xeList.cacheRowMap();
|
|
23145
|
+
$xeList.handleData(true);
|
|
23146
|
+
$xeList.updateAfterDataIndex();
|
|
23147
|
+
$xeList.updateCheckboxStatus();
|
|
23148
|
+
if (reactData.scrollYLoad) {
|
|
23149
|
+
$xeList.updateYSpace();
|
|
23150
|
+
}
|
|
23151
|
+
return $xeList.$nextTick().then(function () {
|
|
23152
|
+
return $xeList.recalculate();
|
|
23153
|
+
}).then(function () {
|
|
23154
|
+
return {
|
|
23155
|
+
row: delList.length ? delList[delList.length - 1] : null,
|
|
23156
|
+
rows: delList
|
|
23157
|
+
};
|
|
23158
|
+
});
|
|
23159
|
+
},
|
|
23160
|
+
getRemoveRecords: function getRemoveRecords() {
|
|
23161
|
+
var $xeList = this;
|
|
23162
|
+
var internalData = $xeList.internalData;
|
|
23163
|
+
var removeRowMaps = internalData.removeRowMaps;
|
|
23164
|
+
var removeRecords = [];
|
|
23165
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(removeRowMaps, function (item) {
|
|
23166
|
+
removeRecords.push(item);
|
|
23167
|
+
});
|
|
23168
|
+
return removeRecords;
|
|
23169
|
+
},
|
|
23170
|
+
isRemoveByRow: function isRemoveByRow(row) {
|
|
23171
|
+
var $xeList = this;
|
|
23172
|
+
var reactData = $xeList.reactData;
|
|
23173
|
+
var internalData = $xeList.internalData;
|
|
23174
|
+
var rowid = $xeList.getRowId(row);
|
|
23175
|
+
return !!reactData.removeRowFlag && !!internalData.removeRowMaps[rowid];
|
|
23176
|
+
},
|
|
23177
|
+
handleCrossListRowDragCancelEvent: function handleCrossListRowDragCancelEvent() {
|
|
23178
|
+
var $xeList = this;
|
|
23179
|
+
$xeList.clearRowDragData();
|
|
23180
|
+
$xeList.clearCrossListDragStatus();
|
|
23181
|
+
},
|
|
23182
|
+
/**
|
|
23183
|
+
* 处理跨树拖拽完成
|
|
23184
|
+
*/
|
|
23185
|
+
handleCrossListRowDragFinishEvent: function handleCrossListRowDragFinishEvent(evnt) {
|
|
23186
|
+
var $xeList = this;
|
|
23187
|
+
var reactData = $xeList.reactData;
|
|
23188
|
+
var internalData = $xeList.internalData;
|
|
23189
|
+
var crossListDragRowInfo = getCrossListDragRowInfo($xeList);
|
|
23190
|
+
var rowList = reactData.rowList;
|
|
23191
|
+
var rowMaps = internalData.rowMaps;
|
|
23192
|
+
var dragOpts = $xeList.computeDragOpts;
|
|
23193
|
+
var animation = dragOpts.animation,
|
|
23194
|
+
isCrossListDrag = dragOpts.isCrossListDrag;
|
|
23195
|
+
var el = $xeList.$refs.refElem;
|
|
23196
|
+
if (!el) {
|
|
23197
|
+
return;
|
|
23198
|
+
}
|
|
23199
|
+
if (isCrossListDrag && crossListDragRowObj && crossListDragRowInfo) {
|
|
23200
|
+
var dragRow = crossListDragRowInfo.row;
|
|
23201
|
+
if (dragRow) {
|
|
23202
|
+
var dragRowid = $xeList.getRowId(dragRow);
|
|
23203
|
+
var dragRowRest = rowMaps[dragRowid];
|
|
23204
|
+
var dragRowHeight = 0;
|
|
23205
|
+
var rsIndex = -1;
|
|
23206
|
+
if (dragRowRest) {
|
|
23207
|
+
if (animation) {
|
|
23208
|
+
var oldItemEl = el.querySelector(".vxe-list--row[rowid=\"".concat(dragRowid, "\"]"));
|
|
23209
|
+
var targetItemEl = oldItemEl;
|
|
23210
|
+
if (targetItemEl) {
|
|
23211
|
+
dragRowHeight = targetItemEl.offsetHeight;
|
|
23212
|
+
}
|
|
23213
|
+
}
|
|
23214
|
+
rsIndex = dragRowRest.$index;
|
|
23215
|
+
}
|
|
23216
|
+
var dragRangeList = rsIndex > -1 && rsIndex < rowList.length - 1 ? rowList.slice(rsIndex + 1) : [];
|
|
23217
|
+
var dragList = [dragRow];
|
|
23218
|
+
$xeList.remove(dragList).then(function () {
|
|
23219
|
+
if (animation && dragRowHeight && dragRangeList.length) {
|
|
23220
|
+
var wrapperEl = el;
|
|
23221
|
+
var dtClss = [];
|
|
23222
|
+
dragRangeList.forEach(function (item) {
|
|
23223
|
+
var rowid = $xeList.getRowId(item);
|
|
23224
|
+
dtClss.push(".vxe-list--row[rowid=\"".concat(rowid, "\"]"));
|
|
23225
|
+
});
|
|
23226
|
+
var dtTrList = wrapperEl.querySelectorAll(dtClss.join(','));
|
|
23227
|
+
moveRowAnimateToTb(dtTrList, dragRowHeight);
|
|
23228
|
+
}
|
|
23229
|
+
});
|
|
23230
|
+
$xeList.dispatchEvent('row-remove-dragend', {
|
|
23231
|
+
row: dragRow
|
|
23232
|
+
}, evnt);
|
|
23233
|
+
$xeList.handleRowDragEndClearStatus();
|
|
23234
|
+
}
|
|
23235
|
+
}
|
|
23236
|
+
},
|
|
23237
|
+
/**
|
|
23238
|
+
* 处理跨树拖至新的空树
|
|
23239
|
+
*/
|
|
23240
|
+
handleCrossListRowDragoverEmptyEvent: function handleCrossListRowDragoverEmptyEvent(evnt) {
|
|
23241
|
+
var $xeList = this;
|
|
23242
|
+
var reactData = $xeList.reactData;
|
|
23243
|
+
var internalData = $xeList.internalData;
|
|
23244
|
+
var rowList = reactData.rowList;
|
|
23245
|
+
var dragOpts = $xeList.computeDragOpts;
|
|
23246
|
+
var isCrossListDrag = dragOpts.isCrossListDrag;
|
|
23247
|
+
if (isCrossListDrag && crossListDragRowObj && !rowList.length) {
|
|
23248
|
+
var _crossListDragRowObj2 = crossListDragRowObj,
|
|
23249
|
+
$oldList = _crossListDragRowObj2.$oldList,
|
|
23250
|
+
$newList = _crossListDragRowObj2.$newList;
|
|
23251
|
+
if ($oldList) {
|
|
23252
|
+
var oldListReactData = $oldList;
|
|
23253
|
+
if ($oldList.xID !== $xeList.xID) {
|
|
23254
|
+
if ($newList && $newList.xID !== $xeList.xID) {
|
|
23255
|
+
$newList.hideCrossListRowDropClearStatus();
|
|
23256
|
+
}
|
|
23257
|
+
evnt.preventDefault();
|
|
23258
|
+
$oldList.hideCrossListRowDropClearStatus();
|
|
23259
|
+
crossListDragRowObj.$newList = $xeList;
|
|
23260
|
+
internalData.prevDragRow = null;
|
|
23261
|
+
reactData.dragTipText = oldListReactData.dragTipText;
|
|
23262
|
+
$xeList.showDropTip(evnt, evnt.currentTarget, true, '');
|
|
23263
|
+
}
|
|
23264
|
+
}
|
|
23265
|
+
}
|
|
23266
|
+
},
|
|
23267
|
+
/**
|
|
23268
|
+
* 处理跨树拖插入
|
|
23269
|
+
*/
|
|
23270
|
+
handleCrossListRowDragInsertEvent: function handleCrossListRowDragInsertEvent(evnt) {
|
|
23271
|
+
var $xeList = this;
|
|
23272
|
+
var reactData = $xeList.reactData;
|
|
23273
|
+
var internalData = $xeList.internalData;
|
|
23274
|
+
var crossListDragRowInfo = getCrossListDragRowInfo($xeList);
|
|
23275
|
+
var prevDragRow = internalData.prevDragRow,
|
|
23276
|
+
prevDragPos = internalData.prevDragPos;
|
|
23277
|
+
var dragOpts = $xeList.computeDragOpts;
|
|
23278
|
+
var animation = dragOpts.animation,
|
|
23279
|
+
isCrossListDrag = dragOpts.isCrossListDrag,
|
|
23280
|
+
dragEndMethod = dragOpts.dragEndMethod;
|
|
23281
|
+
// 跨表拖拽
|
|
23282
|
+
if (isCrossListDrag && crossListDragRowObj && crossListDragRowInfo) {
|
|
23283
|
+
var oldRow = crossListDragRowInfo.row;
|
|
23284
|
+
var _crossListDragRowObj3 = crossListDragRowObj,
|
|
23285
|
+
$oldList = _crossListDragRowObj3.$oldList;
|
|
23286
|
+
var el = $xeList.$refs.refElem;
|
|
23287
|
+
if (!el) {
|
|
23288
|
+
return;
|
|
23289
|
+
}
|
|
23290
|
+
if ($oldList && oldRow) {
|
|
23291
|
+
var dragRow = oldRow;
|
|
23292
|
+
var dragOffsetIndex = -1;
|
|
23293
|
+
if (prevDragRow) {
|
|
23294
|
+
dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
|
|
23295
|
+
}
|
|
23296
|
+
var dragParams = {
|
|
23297
|
+
oldRow: dragRow,
|
|
23298
|
+
newRow: prevDragRow,
|
|
23299
|
+
dragRow: dragRow,
|
|
23300
|
+
dragPos: prevDragPos,
|
|
23301
|
+
offsetIndex: dragOffsetIndex
|
|
23302
|
+
};
|
|
23303
|
+
var errRest = {
|
|
23304
|
+
status: false
|
|
23305
|
+
};
|
|
23306
|
+
Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then(function (status) {
|
|
23307
|
+
if (!status) {
|
|
23308
|
+
if ($oldList) {
|
|
23309
|
+
if ($oldList.xID !== $xeList.xID) {
|
|
23310
|
+
$oldList.handleCrossListRowDragCancelEvent(evnt);
|
|
23311
|
+
}
|
|
23312
|
+
}
|
|
23313
|
+
$xeList.handleRowDragEndClearStatus();
|
|
23314
|
+
return errRest;
|
|
23315
|
+
}
|
|
23316
|
+
var insertRest = Promise.resolve();
|
|
23317
|
+
var dragList = [dragRow];
|
|
23318
|
+
$oldList.handleCrossListRowDragFinishEvent(evnt);
|
|
23319
|
+
if (prevDragRow) {
|
|
23320
|
+
if (prevDragPos === 'bottom') {
|
|
23321
|
+
insertRest = $xeList.insertNextAt(dragList, prevDragRow);
|
|
23322
|
+
} else {
|
|
23323
|
+
insertRest = $xeList.insertAt(dragList, prevDragRow);
|
|
23324
|
+
}
|
|
23325
|
+
} else {
|
|
23326
|
+
insertRest = $xeList.insert(dragList);
|
|
23327
|
+
}
|
|
23328
|
+
$xeList.dispatchEvent('row-insert-dragend', {
|
|
23329
|
+
oldRow: oldRow,
|
|
23330
|
+
newRow: prevDragRow,
|
|
23331
|
+
dragRow: dragRow,
|
|
23332
|
+
dragPos: prevDragPos,
|
|
23333
|
+
offsetIndex: dragOffsetIndex
|
|
23334
|
+
}, evnt);
|
|
23335
|
+
$xeList.clearRowDragData();
|
|
23336
|
+
insertRest.then(function () {
|
|
23337
|
+
var rowList = reactData.rowList;
|
|
23338
|
+
var rowMaps = internalData.rowMaps;
|
|
23339
|
+
var oldRowid = $xeList.getRowId(dragRow);
|
|
23340
|
+
var oldRowRest = rowMaps[oldRowid];
|
|
23341
|
+
var dragRowHeight = 0;
|
|
23342
|
+
var rsIndex = -1;
|
|
23343
|
+
if (oldRowRest) {
|
|
23344
|
+
if (animation) {
|
|
23345
|
+
var oldItemEl = el.querySelector(".vxe-list--row[rowid=\"".concat(oldRowid, "\"]"));
|
|
23346
|
+
var targetItemEl = oldItemEl;
|
|
23347
|
+
if (targetItemEl) {
|
|
23348
|
+
dragRowHeight = targetItemEl.offsetHeight;
|
|
23349
|
+
}
|
|
23350
|
+
}
|
|
23351
|
+
rsIndex = oldRowRest.$index;
|
|
23352
|
+
}
|
|
23353
|
+
var dragRangeList = rsIndex > -1 ? rowList.slice(rsIndex) : [];
|
|
23354
|
+
if (animation && dragRowHeight && dragRangeList.length) {
|
|
23355
|
+
var wrapperEl = el;
|
|
23356
|
+
var dtClss = [];
|
|
23357
|
+
dragRangeList.forEach(function (item) {
|
|
23358
|
+
var rowid = $xeList.getRowId(item);
|
|
23359
|
+
dtClss.push(".vxe-list--row[rowid=\"".concat(rowid, "\"]"));
|
|
23360
|
+
});
|
|
23361
|
+
var dtTrList = wrapperEl.querySelectorAll(dtClss.join(','));
|
|
23362
|
+
moveRowAnimateToTb(dtTrList, -dragRowHeight);
|
|
23363
|
+
}
|
|
23364
|
+
});
|
|
23365
|
+
});
|
|
23366
|
+
}
|
|
23367
|
+
}
|
|
23368
|
+
},
|
|
23369
|
+
hideCrossListRowDropClearStatus: function hideCrossListRowDropClearStatus() {
|
|
23370
|
+
var $xeList = this;
|
|
23371
|
+
$xeList.hideDropTip();
|
|
23372
|
+
},
|
|
23373
|
+
handleContextmenuEvent: function handleContextmenuEvent(evnt, row) {
|
|
23374
|
+
var $xeList = this;
|
|
23375
|
+
var props = $xeList;
|
|
23376
|
+
var reactData = $xeList.reactData;
|
|
23377
|
+
var internalData = $xeList.internalData;
|
|
23378
|
+
var menuConfig = props.menuConfig;
|
|
23379
|
+
var menuOpts = $xeList.computeMenuOpts;
|
|
23380
|
+
var rowOpts = $xeList.computeRowOpts;
|
|
23381
|
+
var isCurrent = rowOpts.isCurrent;
|
|
23382
|
+
if (menuConfig ? isEnableConf(menuOpts) : menuOpts.enabled) {
|
|
23383
|
+
var options = menuOpts.options,
|
|
23384
|
+
visibleMethod = menuOpts.visibleMethod;
|
|
23385
|
+
if (!visibleMethod || visibleMethod({
|
|
23386
|
+
$list: $xeList,
|
|
23387
|
+
options: options,
|
|
23388
|
+
row: row
|
|
23389
|
+
})) {
|
|
23390
|
+
if (isCurrent) {
|
|
23391
|
+
$xeList.changeCurrentEvent(evnt, row);
|
|
23392
|
+
} else if (internalData.currentRow) {
|
|
23393
|
+
internalData.currentRow = null;
|
|
23394
|
+
reactData.currRowFlag++;
|
|
23395
|
+
}
|
|
23396
|
+
if (VxeUI.contextMenu) {
|
|
23397
|
+
VxeUI.contextMenu.openByEvent(evnt, {
|
|
23398
|
+
options: options,
|
|
23399
|
+
events: {
|
|
23400
|
+
optionClick: function optionClick(eventParams) {
|
|
23401
|
+
var option = eventParams.option;
|
|
23402
|
+
var gMenuOpts = menus.get(option.code);
|
|
23403
|
+
var tmMethod = gMenuOpts ? gMenuOpts.listMenuMethod : null;
|
|
23404
|
+
var params = {
|
|
23405
|
+
menu: option,
|
|
23406
|
+
row: row,
|
|
23407
|
+
$event: evnt,
|
|
23408
|
+
$list: $xeList
|
|
23409
|
+
};
|
|
23410
|
+
if (tmMethod) {
|
|
23411
|
+
tmMethod(params, evnt);
|
|
23412
|
+
}
|
|
23413
|
+
$xeList.dispatchEvent('menu-click', params, eventParams.$event);
|
|
23414
|
+
}
|
|
23415
|
+
}
|
|
23416
|
+
});
|
|
23417
|
+
}
|
|
23418
|
+
}
|
|
23419
|
+
}
|
|
23420
|
+
$xeList.dispatchEvent('row-menu', {
|
|
23421
|
+
row: row
|
|
23422
|
+
}, evnt);
|
|
23423
|
+
},
|
|
22808
23424
|
//
|
|
22809
23425
|
// Render
|
|
22810
23426
|
//
|
|
@@ -22927,6 +23543,7 @@ function list_createInternalData() {
|
|
|
22927
23543
|
var selectCheckboxMaps = internalData.selectCheckboxMaps,
|
|
22928
23544
|
currentRow = internalData.currentRow;
|
|
22929
23545
|
var contentSlot = slots.content;
|
|
23546
|
+
var extraSlot = slots.extra;
|
|
22930
23547
|
var dragOpts = $xeList.computeDragOpts;
|
|
22931
23548
|
var trigger = dragOpts.trigger,
|
|
22932
23549
|
icon = dragOpts.icon,
|
|
@@ -22988,6 +23605,12 @@ function list_createInternalData() {
|
|
|
22988
23605
|
key: 'ct5',
|
|
22989
23606
|
class: 'vxe-list--row-content'
|
|
22990
23607
|
}, contentSlot ? contentSlot(rowParams) : contentField ? getText(row[contentField]) : ''));
|
|
23608
|
+
if (extraSlot) {
|
|
23609
|
+
ctVNs.push(h('div', {
|
|
23610
|
+
key: 'ct7',
|
|
23611
|
+
class: 'vxe-list--row-extra'
|
|
23612
|
+
}, extraSlot(rowParams)));
|
|
23613
|
+
}
|
|
22991
23614
|
var rowOns = {
|
|
22992
23615
|
mousedown: function mousedown(evnt) {
|
|
22993
23616
|
$xeList.handleRowMousedownEvent(evnt, row);
|
|
@@ -22998,6 +23621,9 @@ function list_createInternalData() {
|
|
|
22998
23621
|
},
|
|
22999
23622
|
dblclick: function dblclick(evnt) {
|
|
23000
23623
|
$xeList.handleRowDblclickEvent(evnt, row);
|
|
23624
|
+
},
|
|
23625
|
+
contextmenu: function contextmenu(evnt) {
|
|
23626
|
+
$xeList.handleContextmenuEvent(evnt, row);
|
|
23001
23627
|
}
|
|
23002
23628
|
};
|
|
23003
23629
|
// 拖拽行事件
|
|
@@ -23042,16 +23668,22 @@ function list_createInternalData() {
|
|
|
23042
23668
|
var radioOpts = $xeList.computeRadioOpts;
|
|
23043
23669
|
var checkboxOpts = $xeList.computeCheckboxOpts;
|
|
23044
23670
|
var dragOpts = $xeList.computeDragOpts;
|
|
23045
|
-
var trigger = dragOpts.trigger
|
|
23671
|
+
var trigger = dragOpts.trigger,
|
|
23672
|
+
isCrossListDrag = dragOpts.isCrossListDrag;
|
|
23046
23673
|
var rowOpts = $xeList.computeRowOpts;
|
|
23047
23674
|
var isHover = rowOpts.isHover,
|
|
23048
23675
|
padding = rowOpts.padding;
|
|
23049
23676
|
var showDefChekboxHead = showCheckbox && checkboxOpts.showHeader !== false;
|
|
23677
|
+
var leOns = {};
|
|
23678
|
+
if (isCrossListDrag && !rowList.length) {
|
|
23679
|
+
leOns.dragover = $xeList.handleCrossListRowDragoverEmptyEvent;
|
|
23680
|
+
}
|
|
23050
23681
|
return h('div', {
|
|
23051
23682
|
ref: 'refElem',
|
|
23052
23683
|
class: ['vxe-list', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
|
|
23053
23684
|
$list: $xeList
|
|
23054
23685
|
}) : className : '', _defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--loading', loading)],
|
|
23686
|
+
on: leOns,
|
|
23055
23687
|
style: wrapperStyles
|
|
23056
23688
|
}, [headerSlot || showDefChekboxHead ? h('div', {
|
|
23057
23689
|
ref: 'refHeaderElem',
|
|
@@ -23172,13 +23804,17 @@ function list_createInternalData() {
|
|
|
23172
23804
|
var $xeList = this;
|
|
23173
23805
|
var props = $xeList;
|
|
23174
23806
|
var internalData = $xeList.internalData;
|
|
23175
|
-
var
|
|
23807
|
+
var showSeq = props.showSeq,
|
|
23808
|
+
showRadio = props.showRadio,
|
|
23176
23809
|
showCheckbox = props.showCheckbox;
|
|
23177
23810
|
var rowOpts = $xeList.computeRowOpts;
|
|
23178
23811
|
var useKey = rowOpts.useKey,
|
|
23179
23812
|
keyField = rowOpts.keyField;
|
|
23180
23813
|
var isDrag = $xeList.computeIsDrag;
|
|
23181
23814
|
if (!keyField) {
|
|
23815
|
+
if (showSeq) {
|
|
23816
|
+
list_errLog('vxe.error.reqSupportProp', ['show-seq', 'row-config.keyField']);
|
|
23817
|
+
}
|
|
23182
23818
|
if (showRadio) {
|
|
23183
23819
|
list_errLog('vxe.error.reqSupportProp', ['show-radio', 'row-config.keyField']);
|
|
23184
23820
|
}
|
|
@@ -61257,7 +61893,7 @@ function calcTreeLine($xeTree, node, prevNode) {
|
|
|
61257
61893
|
}
|
|
61258
61894
|
return (rowHeight || 28) * expandSize - (prevNode ? 1 : 12);
|
|
61259
61895
|
}
|
|
61260
|
-
function
|
|
61896
|
+
function util_getItemCacheObj(item) {
|
|
61261
61897
|
return {
|
|
61262
61898
|
item: item,
|
|
61263
61899
|
index: -1,
|
|
@@ -61787,7 +62423,7 @@ function insertTreeNode($xeTree, newRecords, isAppend) {
|
|
|
61787
62423
|
}, {
|
|
61788
62424
|
children: mapChildrenField
|
|
61789
62425
|
}) : null;
|
|
61790
|
-
var itemRest =
|
|
62426
|
+
var itemRest = util_getItemCacheObj(item);
|
|
61791
62427
|
if (matchObj) {
|
|
61792
62428
|
var parentItem = matchObj.item;
|
|
61793
62429
|
var parentRest = nodeMaps[$xeTree.getNodeId(parentItem)];
|
|
@@ -63024,7 +63660,7 @@ function tree_createReactData() {
|
|
|
63024
63660
|
});
|
|
63025
63661
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(treeRecords, function (item) {
|
|
63026
63662
|
var nodeid = $xeTree.getNodeId(item);
|
|
63027
|
-
var nodeRest =
|
|
63663
|
+
var nodeRest = util_getItemCacheObj(item);
|
|
63028
63664
|
nodeRest.level = parentLevel;
|
|
63029
63665
|
if (item[childrenField]) {
|
|
63030
63666
|
item[mapChildrenField] = item[childrenField];
|