vxe-pc-ui 4.7.5 → 4.7.7
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/language/ar-EG.js +19 -1
- package/es/language/de-DE.js +19 -1
- package/es/language/en-US.js +20 -2
- package/es/language/es-ES.js +19 -1
- package/es/language/fr-FR.js +19 -1
- package/es/language/hu-HU.js +19 -1
- package/es/language/hy-AM.js +18 -0
- package/es/language/id-ID.js +19 -1
- package/es/language/it-IT.js +19 -1
- package/es/language/ja-JP.js +19 -1
- package/es/language/ko-KR.js +19 -1
- package/es/language/ms-MY.js +19 -1
- package/es/language/nb-NO.js +19 -1
- package/es/language/pt-BR.js +19 -1
- package/es/language/ru-RU.js +19 -1
- package/es/language/th-TH.js +19 -1
- package/es/language/ug-CN.js +19 -1
- package/es/language/uk-UA.js +19 -1
- package/es/language/uz-UZ.js +19 -1
- package/es/language/vi-VN.js +19 -1
- package/es/language/zh-CHT.js +19 -1
- package/es/language/zh-CN.js +18 -0
- package/es/list/src/list.js +1 -1
- package/es/select/src/select.js +135 -42
- package/es/select/style.css +21 -0
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tree/src/tree.js +924 -407
- package/es/tree/src/util.js +32 -0
- package/es/tree/style.css +29 -26
- package/es/tree/style.min.css +1 -1
- package/es/tree-select/src/tree-select.js +227 -18
- package/es/tree-select/style.css +36 -1
- package/es/tree-select/style.min.css +1 -1
- package/es/ui/index.js +19 -3
- package/es/ui/src/dom.js +9 -0
- package/es/ui/src/log.js +1 -1
- package/es/vxe-select/style.css +21 -0
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tree/style.css +29 -26
- package/es/vxe-tree/style.min.css +1 -1
- package/es/vxe-tree-select/style.css +36 -1
- package/es/vxe-tree-select/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 +1512 -530
- package/lib/index.umd.min.js +1 -1
- package/lib/language/ar-EG.js +19 -1
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/ar-EG.umd.js +19 -1
- package/lib/language/de-DE.js +19 -1
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/de-DE.umd.js +19 -1
- package/lib/language/en-US.js +20 -2
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +20 -2
- package/lib/language/es-ES.js +19 -1
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +19 -1
- package/lib/language/fr-FR.js +19 -1
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +19 -1
- package/lib/language/hu-HU.js +19 -1
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +19 -1
- package/lib/language/hy-AM.js +18 -0
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/hy-AM.umd.js +18 -0
- package/lib/language/id-ID.js +19 -1
- package/lib/language/id-ID.min.js +1 -1
- package/lib/language/id-ID.umd.js +19 -1
- package/lib/language/it-IT.js +19 -1
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/it-IT.umd.js +19 -1
- package/lib/language/ja-JP.js +19 -1
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +19 -1
- package/lib/language/ko-KR.js +19 -1
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +19 -1
- package/lib/language/ms-MY.js +19 -1
- package/lib/language/ms-MY.min.js +1 -1
- package/lib/language/ms-MY.umd.js +19 -1
- package/lib/language/nb-NO.js +19 -1
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/nb-NO.umd.js +19 -1
- package/lib/language/pt-BR.js +19 -1
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +19 -1
- package/lib/language/ru-RU.js +19 -1
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +19 -1
- package/lib/language/th-TH.js +19 -1
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/th-TH.umd.js +19 -1
- package/lib/language/ug-CN.js +19 -1
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/ug-CN.umd.js +19 -1
- package/lib/language/uk-UA.js +19 -1
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +19 -1
- package/lib/language/uz-UZ.js +19 -1
- package/lib/language/uz-UZ.min.js +1 -1
- package/lib/language/uz-UZ.umd.js +19 -1
- package/lib/language/vi-VN.js +19 -1
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/vi-VN.umd.js +19 -1
- package/lib/language/zh-CHT.js +19 -1
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +19 -1
- package/lib/language/zh-CN.js +18 -0
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +18 -0
- package/lib/list/src/list.js +1 -1
- package/lib/list/src/list.min.js +1 -1
- package/lib/select/src/select.js +139 -44
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +21 -0
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tree/src/tree.js +1154 -572
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree/src/util.js +51 -0
- package/lib/tree/src/util.min.js +1 -0
- package/lib/tree/style/style.css +29 -26
- package/lib/tree/style/style.min.css +1 -1
- package/lib/tree-select/src/tree-select.js +237 -21
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/tree-select/style/style.css +36 -1
- package/lib/tree-select/style/style.min.css +1 -1
- package/lib/ui/index.js +19 -3
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +10 -0
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-select/style/style.css +21 -0
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tree/style/style.css +29 -26
- package/lib/vxe-tree/style/style.min.css +1 -1
- package/lib/vxe-tree-select/style/style.css +36 -1
- package/lib/vxe-tree-select/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/language/ar-EG.ts +19 -1
- package/packages/language/de-DE.ts +19 -1
- package/packages/language/en-US.ts +20 -2
- package/packages/language/es-ES.ts +19 -1
- package/packages/language/fr-FR.ts +19 -1
- package/packages/language/hu-HU.ts +19 -1
- package/packages/language/hy-AM.ts +18 -0
- package/packages/language/id-ID.ts +19 -1
- package/packages/language/it-IT.ts +19 -1
- package/packages/language/ja-JP.ts +19 -1
- package/packages/language/ko-KR.ts +19 -1
- package/packages/language/ms-MY.ts +19 -1
- package/packages/language/nb-NO.ts +19 -1
- package/packages/language/pt-BR.ts +19 -1
- package/packages/language/ru-RU.ts +19 -1
- package/packages/language/th-TH.ts +19 -1
- package/packages/language/ug-CN.ts +19 -1
- package/packages/language/uk-UA.ts +19 -1
- package/packages/language/uz-UZ.ts +19 -1
- package/packages/language/vi-VN.ts +19 -1
- package/packages/language/zh-CHT.ts +19 -1
- package/packages/language/zh-CN.ts +18 -0
- package/packages/list/src/list.ts +1 -1
- package/packages/select/src/select.ts +146 -50
- package/packages/tree/src/tree.ts +947 -410
- package/packages/tree/src/util.ts +35 -0
- package/packages/tree-select/src/tree-select.ts +240 -19
- package/packages/ui/index.ts +18 -2
- package/packages/ui/src/dom.ts +10 -0
- package/styles/components/select.scss +19 -0
- package/styles/components/tree-select.scss +36 -1
- package/styles/components/tree.scss +34 -31
- package/types/components/button.d.ts +11 -1
- package/types/components/grid.d.ts +5 -0
- package/types/components/icon-picker.d.ts +11 -1
- package/types/components/input.d.ts +2 -2
- package/types/components/select.d.ts +28 -39
- package/types/components/tree-select.d.ts +73 -12
- package/types/components/tree.d.ts +125 -8
- /package/es/icon/{iconfont.1752151733538.ttf → iconfont.1752462949194.ttf} +0 -0
- /package/es/icon/{iconfont.1752151733538.woff → iconfont.1752462949194.woff} +0 -0
- /package/es/icon/{iconfont.1752151733538.woff2 → iconfont.1752462949194.woff2} +0 -0
- /package/es/{iconfont.1752151733538.ttf → iconfont.1752462949194.ttf} +0 -0
- /package/es/{iconfont.1752151733538.woff → iconfont.1752462949194.woff} +0 -0
- /package/es/{iconfont.1752151733538.woff2 → iconfont.1752462949194.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1752151733538.ttf → iconfont.1752462949194.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1752151733538.woff → iconfont.1752462949194.woff} +0 -0
- /package/lib/icon/style/{iconfont.1752151733538.woff2 → iconfont.1752462949194.woff2} +0 -0
- /package/lib/{iconfont.1752151733538.ttf → iconfont.1752462949194.ttf} +0 -0
- /package/lib/{iconfont.1752151733538.woff → iconfont.1752462949194.woff} +0 -0
- /package/lib/{iconfont.1752151733538.woff2 → iconfont.1752462949194.woff2} +0 -0
package/lib/index.umd.js
CHANGED
|
@@ -3573,8 +3573,26 @@ setTheme();
|
|
|
3573
3573
|
operError: '发生错误,操作失败!'
|
|
3574
3574
|
},
|
|
3575
3575
|
select: {
|
|
3576
|
+
clear: '清除',
|
|
3577
|
+
allChecked: '全选',
|
|
3578
|
+
total: '{0} / {1}',
|
|
3576
3579
|
search: '搜索',
|
|
3577
3580
|
loadingText: '加载中',
|
|
3581
|
+
emptyText: '暂无数据',
|
|
3582
|
+
maxSize: '最大可选择的数量不能超过 {0} 个',
|
|
3583
|
+
overSizeErr: '已超出最大可选数量 {0} 个,超出部分将被忽略!',
|
|
3584
|
+
searchEmpty: '未匹配到数据!'
|
|
3585
|
+
},
|
|
3586
|
+
tree: {
|
|
3587
|
+
searchEmpty: '未匹配到数据!'
|
|
3588
|
+
},
|
|
3589
|
+
treeSelect: {
|
|
3590
|
+
clearChecked: '清除',
|
|
3591
|
+
allChecked: '全选',
|
|
3592
|
+
allExpand: '全部展开',
|
|
3593
|
+
clearExpand: '全部收起',
|
|
3594
|
+
total: '已选 {0}',
|
|
3595
|
+
search: '搜索',
|
|
3578
3596
|
emptyText: '暂无数据'
|
|
3579
3597
|
},
|
|
3580
3598
|
pager: {
|
|
@@ -4260,14 +4278,14 @@ function checkDynamic() {
|
|
|
4260
4278
|
}
|
|
4261
4279
|
;// CONCATENATED MODULE: ./packages/ui/src/log.ts
|
|
4262
4280
|
|
|
4263
|
-
const log_version = `ui v${"4.7.
|
|
4281
|
+
const log_version = `ui v${"4.7.7"}`;
|
|
4264
4282
|
const warnLog = log.create('warn', log_version);
|
|
4265
4283
|
const errLog = log.create('error', log_version);
|
|
4266
4284
|
;// CONCATENATED MODULE: ./packages/ui/index.ts
|
|
4267
4285
|
|
|
4268
4286
|
|
|
4269
4287
|
|
|
4270
|
-
const ui_version = "4.7.
|
|
4288
|
+
const ui_version = "4.7.7";
|
|
4271
4289
|
index_esm_VxeUI.uiVersion = ui_version;
|
|
4272
4290
|
index_esm_VxeUI.dynamicApp = dynamicApp;
|
|
4273
4291
|
function config(options) {
|
|
@@ -4557,7 +4575,7 @@ setConfig({
|
|
|
4557
4575
|
},
|
|
4558
4576
|
virtualYConfig: {
|
|
4559
4577
|
enabled: true,
|
|
4560
|
-
gt:
|
|
4578
|
+
gt: 50,
|
|
4561
4579
|
oSize: 2
|
|
4562
4580
|
}
|
|
4563
4581
|
},
|
|
@@ -4614,16 +4632,32 @@ setConfig({
|
|
|
4614
4632
|
isArrow: true
|
|
4615
4633
|
},
|
|
4616
4634
|
tree: {
|
|
4635
|
+
// autoResize: false,
|
|
4617
4636
|
indent: 20,
|
|
4618
4637
|
minHeight: 60,
|
|
4619
4638
|
radioConfig: {
|
|
4620
4639
|
strict: true
|
|
4640
|
+
},
|
|
4641
|
+
virtualYConfig: {
|
|
4642
|
+
enabled: true,
|
|
4643
|
+
gt: 50,
|
|
4644
|
+
oSize: 2
|
|
4621
4645
|
}
|
|
4622
4646
|
},
|
|
4623
4647
|
treeSelect: {
|
|
4648
|
+
autoClose: true,
|
|
4649
|
+
virtualYConfig: {
|
|
4650
|
+
enabled: true,
|
|
4651
|
+
gt: 0,
|
|
4652
|
+
oSize: 2
|
|
4653
|
+
},
|
|
4624
4654
|
treeConfig: {
|
|
4655
|
+
maxHeight: 300,
|
|
4625
4656
|
radioConfig: {},
|
|
4626
|
-
checkboxConfig: {}
|
|
4657
|
+
checkboxConfig: {},
|
|
4658
|
+
filterConfig: {
|
|
4659
|
+
autoExpandAll: true
|
|
4660
|
+
}
|
|
4627
4661
|
}
|
|
4628
4662
|
},
|
|
4629
4663
|
upload: {
|
|
@@ -5106,6 +5140,15 @@ function getAbsolutePos(elem) {
|
|
|
5106
5140
|
visibleWidth
|
|
5107
5141
|
};
|
|
5108
5142
|
}
|
|
5143
|
+
function getPaddingTopBottomSize(elem) {
|
|
5144
|
+
if (elem) {
|
|
5145
|
+
const computedStyle = getComputedStyle(elem);
|
|
5146
|
+
const paddingTop = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(computedStyle.paddingTop);
|
|
5147
|
+
const paddingBottom = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(computedStyle.paddingBottom);
|
|
5148
|
+
return paddingTop + paddingBottom;
|
|
5149
|
+
}
|
|
5150
|
+
return 0;
|
|
5151
|
+
}
|
|
5109
5152
|
const scrollIntoViewIfNeeded = 'scrollIntoViewIfNeeded';
|
|
5110
5153
|
const scrollIntoView = 'scrollIntoView';
|
|
5111
5154
|
function scrollToView(elem) {
|
|
@@ -24998,7 +25041,7 @@ const Link = VxeLink;
|
|
|
24998
25041
|
ref: refVirtualBody,
|
|
24999
25042
|
class: 'vxe-list--body',
|
|
25000
25043
|
style: {
|
|
25001
|
-
|
|
25044
|
+
transform: `translateY(${topSpaceHeight}px)`
|
|
25002
25045
|
}
|
|
25003
25046
|
}, defaultSlot ? defaultSlot({
|
|
25004
25047
|
items,
|
|
@@ -28541,6 +28584,7 @@ const Option = VxeOption;
|
|
|
28541
28584
|
|
|
28542
28585
|
|
|
28543
28586
|
|
|
28587
|
+
|
|
28544
28588
|
function isOptionVisible(option) {
|
|
28545
28589
|
return option.visible !== false;
|
|
28546
28590
|
}
|
|
@@ -28592,25 +28636,46 @@ function getOptUniqueId() {
|
|
|
28592
28636
|
filterable: Boolean,
|
|
28593
28637
|
filterMethod: Function,
|
|
28594
28638
|
remote: Boolean,
|
|
28595
|
-
// 已废弃,被 remote-config.queryMethod 替换
|
|
28596
|
-
remoteMethod: Function,
|
|
28597
28639
|
remoteConfig: Object,
|
|
28598
28640
|
emptyText: String,
|
|
28641
|
+
showTotalButoon: {
|
|
28642
|
+
type: Boolean,
|
|
28643
|
+
default: () => getConfig().select.showTotalButoon
|
|
28644
|
+
},
|
|
28645
|
+
showCheckedButoon: {
|
|
28646
|
+
type: Boolean,
|
|
28647
|
+
default: () => getConfig().select.showCheckedButoon
|
|
28648
|
+
},
|
|
28649
|
+
showClearButton: {
|
|
28650
|
+
type: Boolean,
|
|
28651
|
+
default: () => getConfig().select.showClearButton
|
|
28652
|
+
},
|
|
28599
28653
|
transfer: {
|
|
28600
28654
|
type: Boolean,
|
|
28601
28655
|
default: null
|
|
28602
28656
|
},
|
|
28603
28657
|
virtualYConfig: Object,
|
|
28604
28658
|
scrollY: Object,
|
|
28605
|
-
|
|
28659
|
+
/**
|
|
28660
|
+
* 已废弃,被 remote-config.queryMethod 替换
|
|
28661
|
+
* @deprecated
|
|
28662
|
+
*/
|
|
28663
|
+
remoteMethod: Function,
|
|
28664
|
+
/**
|
|
28665
|
+
* 已废弃,被 option-config.keyField 替换
|
|
28666
|
+
* @deprecated
|
|
28667
|
+
*/
|
|
28606
28668
|
optionId: {
|
|
28607
28669
|
type: String,
|
|
28608
28670
|
default: () => getConfig().select.optionId
|
|
28609
28671
|
},
|
|
28610
|
-
|
|
28672
|
+
/**
|
|
28673
|
+
* 已废弃,被 option-config.useKey 替换
|
|
28674
|
+
* @deprecated
|
|
28675
|
+
*/
|
|
28611
28676
|
optionKey: Boolean
|
|
28612
28677
|
},
|
|
28613
|
-
emits: ['update:modelValue', 'change', 'clear', 'blur', 'focus', 'click', 'scroll', 'visible-change'],
|
|
28678
|
+
emits: ['update:modelValue', 'change', 'all-change', 'clear', 'blur', 'focus', 'click', 'scroll', 'visible-change'],
|
|
28614
28679
|
setup(props, context) {
|
|
28615
28680
|
const {
|
|
28616
28681
|
slots,
|
|
@@ -28637,7 +28702,6 @@ function getOptUniqueId() {
|
|
|
28637
28702
|
bodyHeight: 0,
|
|
28638
28703
|
topSpaceHeight: 0,
|
|
28639
28704
|
optList: [],
|
|
28640
|
-
afterVisibleList: [],
|
|
28641
28705
|
staticOptions: [],
|
|
28642
28706
|
reactFlag: 0,
|
|
28643
28707
|
currentOption: null,
|
|
@@ -28654,6 +28718,7 @@ function getOptUniqueId() {
|
|
|
28654
28718
|
const internalData = {
|
|
28655
28719
|
synchData: [],
|
|
28656
28720
|
fullData: [],
|
|
28721
|
+
afterVisibleList: [],
|
|
28657
28722
|
optAddMaps: {},
|
|
28658
28723
|
optGroupKeyMaps: {},
|
|
28659
28724
|
optFullValMaps: {},
|
|
@@ -28760,16 +28825,11 @@ function getOptUniqueId() {
|
|
|
28760
28825
|
});
|
|
28761
28826
|
const computeIsMaximize = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
28762
28827
|
const {
|
|
28763
|
-
modelValue
|
|
28764
|
-
multiple,
|
|
28765
|
-
max
|
|
28828
|
+
modelValue
|
|
28766
28829
|
} = props;
|
|
28767
|
-
|
|
28768
|
-
return (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(modelValue) ? modelValue.length : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(modelValue) ? 0 : 1) >= external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(max);
|
|
28769
|
-
}
|
|
28770
|
-
return false;
|
|
28830
|
+
return checkMaxLimit(modelValue);
|
|
28771
28831
|
});
|
|
28772
|
-
const
|
|
28832
|
+
const computeVirtualYOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
28773
28833
|
return Object.assign({}, getConfig().select.virtualYConfig || getConfig().select.scrollY, props.virtualYConfig || props.scrollY);
|
|
28774
28834
|
});
|
|
28775
28835
|
const computeRemoteOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
@@ -28833,6 +28893,16 @@ function getOptUniqueId() {
|
|
|
28833
28893
|
const optid = option[getOptKey()];
|
|
28834
28894
|
return optid ? encodeURIComponent(optid) : '';
|
|
28835
28895
|
};
|
|
28896
|
+
const checkMaxLimit = selectVals => {
|
|
28897
|
+
const {
|
|
28898
|
+
multiple,
|
|
28899
|
+
max
|
|
28900
|
+
} = props;
|
|
28901
|
+
if (multiple && max) {
|
|
28902
|
+
return (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(selectVals) ? selectVals.length : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(selectVals) ? 0 : 1) >= external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(max);
|
|
28903
|
+
}
|
|
28904
|
+
return false;
|
|
28905
|
+
};
|
|
28836
28906
|
const getRemoteSelectLabel = value => {
|
|
28837
28907
|
const {
|
|
28838
28908
|
remoteValMaps,
|
|
@@ -28923,7 +28993,7 @@ function getOptUniqueId() {
|
|
|
28923
28993
|
cacheItem._index = index;
|
|
28924
28994
|
}
|
|
28925
28995
|
});
|
|
28926
|
-
|
|
28996
|
+
internalData.afterVisibleList = avList;
|
|
28927
28997
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
28928
28998
|
};
|
|
28929
28999
|
const setCurrentOption = option => {
|
|
@@ -28984,7 +29054,7 @@ function getOptUniqueId() {
|
|
|
28984
29054
|
reactData.isAniVisible = true;
|
|
28985
29055
|
if (filterable) {
|
|
28986
29056
|
if (remote && remoteOpts.enabled && remoteOpts.autoLoad && !fullData.length) {
|
|
28987
|
-
|
|
29057
|
+
handleSearchEvent();
|
|
28988
29058
|
} else {
|
|
28989
29059
|
handleOption();
|
|
28990
29060
|
updateYData();
|
|
@@ -29042,6 +29112,52 @@ function getOptUniqueId() {
|
|
|
29042
29112
|
clearValueEvent($event, null);
|
|
29043
29113
|
hideOptionPanel();
|
|
29044
29114
|
};
|
|
29115
|
+
const allCheckedPanelEvent = params => {
|
|
29116
|
+
const {
|
|
29117
|
+
$event
|
|
29118
|
+
} = params;
|
|
29119
|
+
const {
|
|
29120
|
+
modelValue,
|
|
29121
|
+
multiple,
|
|
29122
|
+
max
|
|
29123
|
+
} = props;
|
|
29124
|
+
const {
|
|
29125
|
+
optList
|
|
29126
|
+
} = reactData;
|
|
29127
|
+
const valueField = computeValueField.value;
|
|
29128
|
+
if (multiple) {
|
|
29129
|
+
const multipleValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(modelValue) ? [] : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(modelValue) ? modelValue : [modelValue];
|
|
29130
|
+
for (let i = 0; i < optList.length; i++) {
|
|
29131
|
+
const option = optList[i];
|
|
29132
|
+
const selectValue = option[valueField];
|
|
29133
|
+
// 检测是否超过最大可选数量
|
|
29134
|
+
if (checkMaxLimit(multipleValue)) {
|
|
29135
|
+
if (index_esm_VxeUI) {
|
|
29136
|
+
index_esm_VxeUI.modal.message({
|
|
29137
|
+
content: getI18n('vxe.select.overSizeErr', [max]),
|
|
29138
|
+
status: 'warning'
|
|
29139
|
+
});
|
|
29140
|
+
}
|
|
29141
|
+
break;
|
|
29142
|
+
}
|
|
29143
|
+
if (!multipleValue.some(val => val === selectValue)) {
|
|
29144
|
+
multipleValue.push(selectValue);
|
|
29145
|
+
}
|
|
29146
|
+
}
|
|
29147
|
+
changeEvent($event, multipleValue);
|
|
29148
|
+
dispatchEvent('all-change', {
|
|
29149
|
+
value: multipleValue
|
|
29150
|
+
}, $event);
|
|
29151
|
+
hideOptionPanel();
|
|
29152
|
+
}
|
|
29153
|
+
};
|
|
29154
|
+
const clearCheckedPanelEvent = params => {
|
|
29155
|
+
const {
|
|
29156
|
+
$event
|
|
29157
|
+
} = params;
|
|
29158
|
+
clearValueEvent($event, null);
|
|
29159
|
+
hideOptionPanel();
|
|
29160
|
+
};
|
|
29045
29161
|
const changeOptionEvent = (evnt, option) => {
|
|
29046
29162
|
const {
|
|
29047
29163
|
modelValue,
|
|
@@ -29124,12 +29240,12 @@ function getOptUniqueId() {
|
|
|
29124
29240
|
allowCreate
|
|
29125
29241
|
} = props;
|
|
29126
29242
|
const {
|
|
29127
|
-
afterVisibleList,
|
|
29128
29243
|
optList
|
|
29129
29244
|
} = reactData;
|
|
29130
29245
|
const {
|
|
29131
29246
|
optFullValMaps,
|
|
29132
|
-
optAddMaps
|
|
29247
|
+
optAddMaps,
|
|
29248
|
+
afterVisibleList
|
|
29133
29249
|
} = internalData;
|
|
29134
29250
|
const valueField = computeValueField.value;
|
|
29135
29251
|
let fullList = afterVisibleList;
|
|
@@ -29342,13 +29458,10 @@ function getOptUniqueId() {
|
|
|
29342
29458
|
}
|
|
29343
29459
|
}
|
|
29344
29460
|
};
|
|
29345
|
-
const checkOptionDisabled = (isSelected, option
|
|
29461
|
+
const checkOptionDisabled = (isSelected, option) => {
|
|
29346
29462
|
if (option.disabled) {
|
|
29347
29463
|
return true;
|
|
29348
29464
|
}
|
|
29349
|
-
if (group && group.disabled) {
|
|
29350
|
-
return true;
|
|
29351
|
-
}
|
|
29352
29465
|
const isMaximize = computeIsMaximize.value;
|
|
29353
29466
|
if (isMaximize && !isSelected) {
|
|
29354
29467
|
return true;
|
|
@@ -29357,11 +29470,11 @@ function getOptUniqueId() {
|
|
|
29357
29470
|
};
|
|
29358
29471
|
const updateYSpace = () => {
|
|
29359
29472
|
const {
|
|
29360
|
-
scrollYLoad
|
|
29361
|
-
afterVisibleList
|
|
29473
|
+
scrollYLoad
|
|
29362
29474
|
} = reactData;
|
|
29363
29475
|
const {
|
|
29364
|
-
scrollYStore
|
|
29476
|
+
scrollYStore,
|
|
29477
|
+
afterVisibleList
|
|
29365
29478
|
} = internalData;
|
|
29366
29479
|
reactData.bodyHeight = scrollYLoad ? afterVisibleList.length * scrollYStore.rowHeight : 0;
|
|
29367
29480
|
reactData.topSpaceHeight = scrollYLoad ? Math.max(scrollYStore.startIndex * scrollYStore.rowHeight, 0) : 0;
|
|
@@ -29373,12 +29486,12 @@ function getOptUniqueId() {
|
|
|
29373
29486
|
} = props;
|
|
29374
29487
|
const {
|
|
29375
29488
|
scrollYLoad,
|
|
29376
|
-
afterVisibleList,
|
|
29377
29489
|
searchValue
|
|
29378
29490
|
} = reactData;
|
|
29379
29491
|
const {
|
|
29380
29492
|
optAddMaps,
|
|
29381
|
-
scrollYStore
|
|
29493
|
+
scrollYStore,
|
|
29494
|
+
afterVisibleList
|
|
29382
29495
|
} = internalData;
|
|
29383
29496
|
const labelField = computeLabelField.value;
|
|
29384
29497
|
const valueField = computeValueField.value;
|
|
@@ -29410,13 +29523,10 @@ function getOptUniqueId() {
|
|
|
29410
29523
|
scrollYStore
|
|
29411
29524
|
} = internalData;
|
|
29412
29525
|
const virtualBodyElem = refVirtualBody.value;
|
|
29413
|
-
const
|
|
29526
|
+
const virtualYOpts = computeVirtualYOpts.value;
|
|
29414
29527
|
let rowHeight = 0;
|
|
29415
29528
|
let firstItemElem;
|
|
29416
29529
|
if (virtualBodyElem) {
|
|
29417
|
-
if (sYOpts.sItem) {
|
|
29418
|
-
firstItemElem = virtualBodyElem.querySelector(sYOpts.sItem);
|
|
29419
|
-
}
|
|
29420
29530
|
if (!firstItemElem) {
|
|
29421
29531
|
firstItemElem = virtualBodyElem.children[0];
|
|
29422
29532
|
}
|
|
@@ -29430,7 +29540,7 @@ function getOptUniqueId() {
|
|
|
29430
29540
|
if (scrollYLoad) {
|
|
29431
29541
|
const scrollBodyElem = refVirtualWrapper.value;
|
|
29432
29542
|
const visibleYSize = Math.max(8, scrollBodyElem ? Math.ceil(scrollBodyElem.clientHeight / rowHeight) : 0);
|
|
29433
|
-
const offsetYSize = Math.max(0, Math.min(2, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(
|
|
29543
|
+
const offsetYSize = Math.max(0, Math.min(2, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(virtualYOpts.oSize)));
|
|
29434
29544
|
scrollYStore.offsetSize = offsetYSize;
|
|
29435
29545
|
scrollYStore.visibleSize = visibleYSize;
|
|
29436
29546
|
scrollYStore.endIndex = Math.max(scrollYStore.startIndex, visibleYSize + offsetYSize, scrollYStore.endIndex);
|
|
@@ -29456,6 +29566,9 @@ function getOptUniqueId() {
|
|
|
29456
29566
|
if (avIndex > -1) {
|
|
29457
29567
|
const optWrapperElem = refVirtualWrapper.value;
|
|
29458
29568
|
const panelElem = refOptionPanel.value;
|
|
29569
|
+
if (!panelElem) {
|
|
29570
|
+
return;
|
|
29571
|
+
}
|
|
29459
29572
|
const optElem = panelElem.querySelector(`[optid='${optid}']`);
|
|
29460
29573
|
if (optWrapperElem) {
|
|
29461
29574
|
if (optElem) {
|
|
@@ -29600,7 +29713,7 @@ function getOptUniqueId() {
|
|
|
29600
29713
|
scrollYStore
|
|
29601
29714
|
} = internalData;
|
|
29602
29715
|
const defaultOpts = computeDefaultOpts.value;
|
|
29603
|
-
const
|
|
29716
|
+
const virtualYOpts = computeVirtualYOpts.value;
|
|
29604
29717
|
const valueField = computeValueField.value;
|
|
29605
29718
|
Object.assign(scrollYStore, {
|
|
29606
29719
|
startIndex: 0,
|
|
@@ -29609,7 +29722,7 @@ function getOptUniqueId() {
|
|
|
29609
29722
|
});
|
|
29610
29723
|
internalData.synchData = datas || [];
|
|
29611
29724
|
// 如果gt为0,则总是启用
|
|
29612
|
-
reactData.scrollYLoad = !!
|
|
29725
|
+
reactData.scrollYLoad = !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt <= fullData.length);
|
|
29613
29726
|
handleData();
|
|
29614
29727
|
if (!isLoaded) {
|
|
29615
29728
|
const {
|
|
@@ -29687,13 +29800,17 @@ function getOptUniqueId() {
|
|
|
29687
29800
|
},
|
|
29688
29801
|
focus() {
|
|
29689
29802
|
const $input = refInput.value;
|
|
29803
|
+
if ($input) {
|
|
29804
|
+
$input.blur();
|
|
29805
|
+
}
|
|
29690
29806
|
reactData.isActivated = true;
|
|
29691
|
-
$input.blur();
|
|
29692
29807
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
29693
29808
|
},
|
|
29694
29809
|
blur() {
|
|
29695
29810
|
const $input = refInput.value;
|
|
29696
|
-
$input
|
|
29811
|
+
if ($input) {
|
|
29812
|
+
$input.blur();
|
|
29813
|
+
}
|
|
29697
29814
|
reactData.isActivated = false;
|
|
29698
29815
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
29699
29816
|
},
|
|
@@ -29701,7 +29818,7 @@ function getOptUniqueId() {
|
|
|
29701
29818
|
clearScroll
|
|
29702
29819
|
};
|
|
29703
29820
|
Object.assign($xeSelect, selectMethods);
|
|
29704
|
-
const renderOption =
|
|
29821
|
+
const renderOption = list => {
|
|
29705
29822
|
const {
|
|
29706
29823
|
allowCreate,
|
|
29707
29824
|
optionKey,
|
|
@@ -29732,11 +29849,11 @@ function getOptUniqueId() {
|
|
|
29732
29849
|
const isAdd = !!(allowCreate && optAddMaps[optid]);
|
|
29733
29850
|
const isSelected = !isAdd && (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(modelValue) ? modelValue.indexOf(optionValue) > -1 : modelValue === optionValue);
|
|
29734
29851
|
const isVisible = isAdd || !isOptGroup || isOptionVisible(option);
|
|
29735
|
-
const isDisabled = !isAdd && checkOptionDisabled(isSelected, option
|
|
29852
|
+
const isDisabled = !isAdd && checkOptionDisabled(isSelected, option);
|
|
29736
29853
|
const defaultSlot = slots ? slots.default : null;
|
|
29737
29854
|
const optParams = {
|
|
29738
29855
|
option,
|
|
29739
|
-
group: null,
|
|
29856
|
+
group: isOptGroup ? option : null,
|
|
29740
29857
|
$select: $xeSelect
|
|
29741
29858
|
};
|
|
29742
29859
|
let optLabel = '';
|
|
@@ -29810,15 +29927,21 @@ function getOptUniqueId() {
|
|
|
29810
29927
|
};
|
|
29811
29928
|
const renderVN = () => {
|
|
29812
29929
|
const {
|
|
29930
|
+
modelValue,
|
|
29813
29931
|
className,
|
|
29814
29932
|
popupClassName,
|
|
29933
|
+
multiple,
|
|
29815
29934
|
loading,
|
|
29816
|
-
filterable
|
|
29935
|
+
filterable,
|
|
29936
|
+
showTotalButoon,
|
|
29937
|
+
showCheckedButoon,
|
|
29938
|
+
showClearButton
|
|
29817
29939
|
} = props;
|
|
29818
29940
|
const {
|
|
29819
29941
|
initialized,
|
|
29820
29942
|
isActivated,
|
|
29821
29943
|
isAniVisible,
|
|
29944
|
+
optList,
|
|
29822
29945
|
visiblePanel,
|
|
29823
29946
|
bodyHeight,
|
|
29824
29947
|
topSpaceHeight
|
|
@@ -29844,6 +29967,7 @@ function getOptUniqueId() {
|
|
|
29844
29967
|
class: 'vxe-select-label'
|
|
29845
29968
|
}, selectLabel)]);
|
|
29846
29969
|
}
|
|
29970
|
+
const selectVals = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(modelValue) ? [] : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(modelValue) ? modelValue : [modelValue];
|
|
29847
29971
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
29848
29972
|
ref: refElem,
|
|
29849
29973
|
class: ['vxe-select', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
|
|
@@ -29910,9 +30034,23 @@ function getOptUniqueId() {
|
|
|
29910
30034
|
onFocus: focusSearchEvent,
|
|
29911
30035
|
onChange: triggerSearchEvent,
|
|
29912
30036
|
onSearch: triggerSearchEvent
|
|
29913
|
-
})]) : renderEmptyElement($xeSelect), headerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
30037
|
+
})]) : renderEmptyElement($xeSelect), showTotalButoon || showCheckedButoon && multiple || showClearButton || headerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
29914
30038
|
class: 'vxe-select--panel-header'
|
|
29915
|
-
}, headerSlot({})
|
|
30039
|
+
}, headerSlot ? callSlot(headerSlot, {}) : [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
30040
|
+
class: 'vxe-select--header-button'
|
|
30041
|
+
}, [showTotalButoon ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
30042
|
+
class: 'vxe-select--header-total'
|
|
30043
|
+
}, getI18n('vxe.select.total', [selectVals.length, optList.length])) : renderEmptyElement($xeSelect), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
30044
|
+
class: 'vxe-select--header-btns'
|
|
30045
|
+
}, [showCheckedButoon && multiple ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(src_button, {
|
|
30046
|
+
content: getI18n('vxe.select.allChecked'),
|
|
30047
|
+
mode: 'text',
|
|
30048
|
+
onClick: allCheckedPanelEvent
|
|
30049
|
+
}) : renderEmptyElement($xeSelect), showClearButton ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(src_button, {
|
|
30050
|
+
content: getI18n('vxe.select.clear'),
|
|
30051
|
+
mode: 'text',
|
|
30052
|
+
onClick: clearCheckedPanelEvent
|
|
30053
|
+
}) : renderEmptyElement($xeSelect)])])]) : renderEmptyElement($xeSelect), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
29916
30054
|
class: 'vxe-select--panel-body'
|
|
29917
30055
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
29918
30056
|
ref: refVirtualWrapper,
|
|
@@ -29927,11 +30065,11 @@ function getOptUniqueId() {
|
|
|
29927
30065
|
ref: refVirtualBody,
|
|
29928
30066
|
class: 'vxe-select--body',
|
|
29929
30067
|
style: {
|
|
29930
|
-
|
|
30068
|
+
transform: `translateY(${topSpaceHeight}px)`
|
|
29931
30069
|
}
|
|
29932
30070
|
}, renderOpts())])]), footerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
29933
30071
|
class: 'vxe-select--panel-footer'
|
|
29934
|
-
}, footerSlot
|
|
30072
|
+
}, callSlot(footerSlot, {})) : renderEmptyElement($xeSelect)])] : [])])]);
|
|
29935
30073
|
};
|
|
29936
30074
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => reactData.staticOptions, val => {
|
|
29937
30075
|
loadData(val);
|
|
@@ -37175,6 +37313,52 @@ dynamicApp.use(VxeTooltip);
|
|
|
37175
37313
|
index_esm_VxeUI.component(tooltip);
|
|
37176
37314
|
const Tooltip = VxeTooltip;
|
|
37177
37315
|
/* harmony default export */ var packages_tooltip = (VxeTooltip);
|
|
37316
|
+
;// CONCATENATED MODULE: ./packages/tree/src/util.ts
|
|
37317
|
+
function countTreeExpand($xeTree, prevNode) {
|
|
37318
|
+
let count = 1;
|
|
37319
|
+
if (!prevNode) {
|
|
37320
|
+
return count;
|
|
37321
|
+
}
|
|
37322
|
+
const props = $xeTree.props;
|
|
37323
|
+
const {
|
|
37324
|
+
transform
|
|
37325
|
+
} = props;
|
|
37326
|
+
const reactData = $xeTree.reactData;
|
|
37327
|
+
const {
|
|
37328
|
+
updateExpandedFlag
|
|
37329
|
+
} = reactData;
|
|
37330
|
+
const internalData = $xeTree.internalData;
|
|
37331
|
+
const {
|
|
37332
|
+
treeExpandedMaps
|
|
37333
|
+
} = internalData;
|
|
37334
|
+
const {
|
|
37335
|
+
computeChildrenField,
|
|
37336
|
+
computeMapChildrenField
|
|
37337
|
+
} = $xeTree.getComputeMaps();
|
|
37338
|
+
const childrenField = computeChildrenField.value;
|
|
37339
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
37340
|
+
const nodeChildren = prevNode[transform ? mapChildrenField : childrenField];
|
|
37341
|
+
if (nodeChildren && updateExpandedFlag && treeExpandedMaps[$xeTree.getNodeId(prevNode)]) {
|
|
37342
|
+
for (let index = 0; index < nodeChildren.length; index++) {
|
|
37343
|
+
count += countTreeExpand($xeTree, nodeChildren[index]);
|
|
37344
|
+
}
|
|
37345
|
+
}
|
|
37346
|
+
return count;
|
|
37347
|
+
}
|
|
37348
|
+
function calcTreeLine($xeTree, node, prevNode) {
|
|
37349
|
+
const internalData = $xeTree.internalData;
|
|
37350
|
+
const {
|
|
37351
|
+
scrollYStore
|
|
37352
|
+
} = internalData;
|
|
37353
|
+
const {
|
|
37354
|
+
rowHeight
|
|
37355
|
+
} = scrollYStore;
|
|
37356
|
+
let expandSize = 1;
|
|
37357
|
+
if (prevNode) {
|
|
37358
|
+
expandSize = countTreeExpand($xeTree, prevNode);
|
|
37359
|
+
}
|
|
37360
|
+
return (rowHeight || 28) * expandSize - (prevNode ? 1 : 12);
|
|
37361
|
+
}
|
|
37178
37362
|
;// CONCATENATED MODULE: ./packages/tree/src/tree.ts
|
|
37179
37363
|
|
|
37180
37364
|
|
|
@@ -37184,6 +37368,8 @@ const Tooltip = VxeTooltip;
|
|
|
37184
37368
|
|
|
37185
37369
|
|
|
37186
37370
|
|
|
37371
|
+
|
|
37372
|
+
|
|
37187
37373
|
/**
|
|
37188
37374
|
* 生成节点的唯一主键
|
|
37189
37375
|
*/
|
|
@@ -37194,7 +37380,15 @@ function getNodeUniqueId() {
|
|
|
37194
37380
|
name: 'VxeTree',
|
|
37195
37381
|
props: {
|
|
37196
37382
|
data: Array,
|
|
37383
|
+
autoResize: {
|
|
37384
|
+
type: Boolean,
|
|
37385
|
+
default: () => getConfig().tree.autoResize
|
|
37386
|
+
},
|
|
37197
37387
|
height: [String, Number],
|
|
37388
|
+
maxHeight: {
|
|
37389
|
+
type: [String, Number],
|
|
37390
|
+
default: () => getConfig().tree.maxHeight
|
|
37391
|
+
},
|
|
37198
37392
|
minHeight: {
|
|
37199
37393
|
type: [String, Number],
|
|
37200
37394
|
default: () => getConfig().tree.minHeight
|
|
@@ -37286,12 +37480,15 @@ function getNodeUniqueId() {
|
|
|
37286
37480
|
type: String,
|
|
37287
37481
|
default: () => getConfig().tree.iconLoaded
|
|
37288
37482
|
},
|
|
37483
|
+
filterValue: [String, Number],
|
|
37484
|
+
filterConfig: Object,
|
|
37289
37485
|
size: {
|
|
37290
37486
|
type: String,
|
|
37291
37487
|
default: () => getConfig().tree.size || getConfig().size
|
|
37292
|
-
}
|
|
37488
|
+
},
|
|
37489
|
+
virtualYConfig: Object
|
|
37293
37490
|
},
|
|
37294
|
-
emits: ['update:modelValue', 'update:checkNodeKey', 'update:checkNodeKeys', 'node-click', 'node-dblclick', 'current-change', 'radio-change', 'checkbox-change', 'load-success', 'load-error'],
|
|
37491
|
+
emits: ['update:modelValue', 'update:checkNodeKey', 'update:checkNodeKeys', 'node-click', 'node-dblclick', 'current-change', 'radio-change', 'checkbox-change', 'load-success', 'load-error', 'scroll'],
|
|
37295
37492
|
setup(props, context) {
|
|
37296
37493
|
const {
|
|
37297
37494
|
emit,
|
|
@@ -37302,8 +37499,19 @@ function getNodeUniqueId() {
|
|
|
37302
37499
|
computeSize
|
|
37303
37500
|
} = useSize(props);
|
|
37304
37501
|
const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
37502
|
+
const refHeaderWrapperElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
37503
|
+
const refFooterWrapperElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
37504
|
+
const refVirtualWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
37505
|
+
const refVirtualBody = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
37305
37506
|
const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)({
|
|
37507
|
+
parentHeight: 0,
|
|
37508
|
+
customHeight: 0,
|
|
37509
|
+
customMinHeight: 0,
|
|
37510
|
+
customMaxHeight: 0,
|
|
37306
37511
|
currentNode: null,
|
|
37512
|
+
scrollYLoad: false,
|
|
37513
|
+
bodyHeight: 0,
|
|
37514
|
+
topSpaceHeight: 0,
|
|
37307
37515
|
selectRadioKey: props.checkNodeKey,
|
|
37308
37516
|
treeList: [],
|
|
37309
37517
|
updateExpandedFlag: 1,
|
|
@@ -37311,11 +37519,26 @@ function getNodeUniqueId() {
|
|
|
37311
37519
|
});
|
|
37312
37520
|
const internalData = {
|
|
37313
37521
|
// initialized: false,
|
|
37522
|
+
// lastFilterValue: '',
|
|
37523
|
+
treeFullData: [],
|
|
37524
|
+
afterTreeList: [],
|
|
37525
|
+
afterVisibleList: [],
|
|
37314
37526
|
nodeMaps: {},
|
|
37315
37527
|
selectCheckboxMaps: {},
|
|
37316
37528
|
indeterminateRowMaps: {},
|
|
37317
37529
|
treeExpandedMaps: {},
|
|
37318
|
-
treeExpandLazyLoadedMaps: {}
|
|
37530
|
+
treeExpandLazyLoadedMaps: {},
|
|
37531
|
+
lastScrollLeft: 0,
|
|
37532
|
+
lastScrollTop: 0,
|
|
37533
|
+
scrollYStore: {
|
|
37534
|
+
startIndex: 0,
|
|
37535
|
+
endIndex: 0,
|
|
37536
|
+
visibleSize: 0,
|
|
37537
|
+
offsetSize: 0,
|
|
37538
|
+
rowHeight: 0
|
|
37539
|
+
},
|
|
37540
|
+
lastScrollTime: 0
|
|
37541
|
+
// hpTimeout: undefined
|
|
37319
37542
|
};
|
|
37320
37543
|
const refMaps = {
|
|
37321
37544
|
refElem
|
|
@@ -37342,6 +37565,9 @@ function getNodeUniqueId() {
|
|
|
37342
37565
|
const computeHasChildField = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
37343
37566
|
return props.hasChildField || 'hasChild';
|
|
37344
37567
|
});
|
|
37568
|
+
const computeVirtualYOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
37569
|
+
return Object.assign({}, getConfig().tree.virtualYConfig, props.virtualYConfig);
|
|
37570
|
+
});
|
|
37345
37571
|
const computeIsRowCurrent = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
37346
37572
|
const nodeOpts = computeNodeOpts.value;
|
|
37347
37573
|
const {
|
|
@@ -37380,19 +37606,28 @@ function getNodeUniqueId() {
|
|
|
37380
37606
|
});
|
|
37381
37607
|
const computeTreeStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
37382
37608
|
const {
|
|
37383
|
-
|
|
37384
|
-
|
|
37385
|
-
|
|
37609
|
+
customHeight,
|
|
37610
|
+
customMinHeight,
|
|
37611
|
+
customMaxHeight
|
|
37612
|
+
} = reactData;
|
|
37386
37613
|
const stys = {};
|
|
37387
|
-
if (
|
|
37388
|
-
stys.height = toCssUnit(
|
|
37614
|
+
if (customHeight) {
|
|
37615
|
+
stys.height = toCssUnit(customHeight);
|
|
37389
37616
|
}
|
|
37390
|
-
if (
|
|
37391
|
-
stys.minHeight = toCssUnit(
|
|
37617
|
+
if (customMinHeight) {
|
|
37618
|
+
stys.minHeight = toCssUnit(customMinHeight);
|
|
37619
|
+
}
|
|
37620
|
+
if (customMaxHeight) {
|
|
37621
|
+
stys.maxHeight = toCssUnit(customMaxHeight);
|
|
37392
37622
|
}
|
|
37393
37623
|
return stys;
|
|
37394
37624
|
});
|
|
37625
|
+
const computeFilterOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
37626
|
+
return Object.assign({}, getConfig().tree.filterConfig, props.filterConfig);
|
|
37627
|
+
});
|
|
37395
37628
|
const computeMaps = {
|
|
37629
|
+
computeChildrenField,
|
|
37630
|
+
computeMapChildrenField,
|
|
37396
37631
|
computeRadioOpts,
|
|
37397
37632
|
computeCheckboxOpts,
|
|
37398
37633
|
computeNodeOpts
|
|
@@ -37548,6 +37783,39 @@ function getNodeUniqueId() {
|
|
|
37548
37783
|
$tree: $xeTree
|
|
37549
37784
|
}, params));
|
|
37550
37785
|
};
|
|
37786
|
+
const getParentElem = () => {
|
|
37787
|
+
const el = refElem.value;
|
|
37788
|
+
return el ? el.parentElement : null;
|
|
37789
|
+
};
|
|
37790
|
+
const calcTableHeight = key => {
|
|
37791
|
+
const {
|
|
37792
|
+
parentHeight
|
|
37793
|
+
} = reactData;
|
|
37794
|
+
const val = props[key];
|
|
37795
|
+
let num = 0;
|
|
37796
|
+
if (val) {
|
|
37797
|
+
if (val === '100%' || val === 'auto') {
|
|
37798
|
+
num = parentHeight;
|
|
37799
|
+
} else {
|
|
37800
|
+
if (isScale(val)) {
|
|
37801
|
+
num = Math.floor((external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(val) || 1) / 100 * parentHeight);
|
|
37802
|
+
} else {
|
|
37803
|
+
num = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(val);
|
|
37804
|
+
}
|
|
37805
|
+
num = Math.max(40, num);
|
|
37806
|
+
}
|
|
37807
|
+
}
|
|
37808
|
+
return num;
|
|
37809
|
+
};
|
|
37810
|
+
const updateHeight = () => {
|
|
37811
|
+
reactData.customHeight = calcTableHeight('height');
|
|
37812
|
+
reactData.customMinHeight = calcTableHeight('minHeight');
|
|
37813
|
+
reactData.customMaxHeight = calcTableHeight('maxHeight');
|
|
37814
|
+
// 如果启用虚拟滚动,默认高度
|
|
37815
|
+
if (reactData.scrollYLoad && !(reactData.customHeight || reactData.customMinHeight)) {
|
|
37816
|
+
reactData.customHeight = 300;
|
|
37817
|
+
}
|
|
37818
|
+
};
|
|
37551
37819
|
const createNode = records => {
|
|
37552
37820
|
const valueField = computeValueField.value;
|
|
37553
37821
|
return Promise.resolve(records.map(obj => {
|
|
@@ -37562,428 +37830,454 @@ function getNodeUniqueId() {
|
|
|
37562
37830
|
return item;
|
|
37563
37831
|
}));
|
|
37564
37832
|
};
|
|
37565
|
-
const
|
|
37566
|
-
|
|
37567
|
-
|
|
37568
|
-
|
|
37569
|
-
|
|
37570
|
-
|
|
37571
|
-
|
|
37572
|
-
|
|
37573
|
-
|
|
37574
|
-
|
|
37575
|
-
|
|
37576
|
-
|
|
37833
|
+
const cacheNodeMap = () => {
|
|
37834
|
+
const {
|
|
37835
|
+
treeFullData
|
|
37836
|
+
} = internalData;
|
|
37837
|
+
const valueField = computeValueField.value;
|
|
37838
|
+
const childrenField = computeChildrenField.value;
|
|
37839
|
+
const keyMaps = {};
|
|
37840
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(treeFullData, (item, index, items, path, parent, nodes) => {
|
|
37841
|
+
let nodeid = getNodeId(item);
|
|
37842
|
+
if (!nodeid) {
|
|
37843
|
+
nodeid = getNodeUniqueId();
|
|
37844
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item, valueField, nodeid);
|
|
37577
37845
|
}
|
|
37578
|
-
|
|
37579
|
-
|
|
37580
|
-
|
|
37581
|
-
|
|
37582
|
-
|
|
37583
|
-
|
|
37584
|
-
|
|
37585
|
-
|
|
37586
|
-
|
|
37587
|
-
|
|
37588
|
-
|
|
37589
|
-
|
|
37590
|
-
|
|
37591
|
-
|
|
37846
|
+
keyMaps[nodeid] = {
|
|
37847
|
+
item,
|
|
37848
|
+
index,
|
|
37849
|
+
items,
|
|
37850
|
+
parent,
|
|
37851
|
+
nodes,
|
|
37852
|
+
level: nodes.length,
|
|
37853
|
+
treeIndex: index,
|
|
37854
|
+
lineCount: 0,
|
|
37855
|
+
treeLoaded: false
|
|
37856
|
+
};
|
|
37857
|
+
}, {
|
|
37858
|
+
children: childrenField
|
|
37859
|
+
});
|
|
37860
|
+
internalData.nodeMaps = keyMaps;
|
|
37861
|
+
};
|
|
37862
|
+
const updateAfterDataIndex = () => {
|
|
37863
|
+
const {
|
|
37864
|
+
transform
|
|
37865
|
+
} = props;
|
|
37866
|
+
const {
|
|
37867
|
+
afterTreeList,
|
|
37868
|
+
nodeMaps
|
|
37869
|
+
} = internalData;
|
|
37870
|
+
const childrenField = computeChildrenField.value;
|
|
37871
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
37872
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeList, (item, index, items) => {
|
|
37873
|
+
const nodeid = getNodeId(item);
|
|
37874
|
+
const nodeItem = nodeMaps[nodeid];
|
|
37875
|
+
if (nodeItem) {
|
|
37876
|
+
nodeItem.items = items;
|
|
37877
|
+
nodeItem.treeIndex = index;
|
|
37878
|
+
} else {
|
|
37879
|
+
const rest = {
|
|
37880
|
+
item,
|
|
37881
|
+
index,
|
|
37882
|
+
items,
|
|
37883
|
+
parent,
|
|
37884
|
+
nodes: [],
|
|
37885
|
+
level: 0,
|
|
37886
|
+
treeIndex: index,
|
|
37887
|
+
lineCount: 0,
|
|
37888
|
+
treeLoaded: false
|
|
37889
|
+
};
|
|
37890
|
+
nodeMaps[nodeid] = rest;
|
|
37592
37891
|
}
|
|
37593
|
-
|
|
37594
|
-
|
|
37595
|
-
|
|
37596
|
-
|
|
37597
|
-
|
|
37598
|
-
|
|
37599
|
-
|
|
37600
|
-
|
|
37601
|
-
|
|
37602
|
-
|
|
37603
|
-
|
|
37604
|
-
|
|
37605
|
-
|
|
37606
|
-
|
|
37607
|
-
|
|
37608
|
-
|
|
37609
|
-
|
|
37610
|
-
|
|
37611
|
-
|
|
37612
|
-
|
|
37613
|
-
|
|
37614
|
-
|
|
37615
|
-
|
|
37616
|
-
|
|
37617
|
-
|
|
37618
|
-
|
|
37619
|
-
|
|
37620
|
-
|
|
37621
|
-
|
|
37622
|
-
|
|
37623
|
-
|
|
37624
|
-
|
|
37625
|
-
|
|
37892
|
+
}, {
|
|
37893
|
+
children: transform ? mapChildrenField : childrenField
|
|
37894
|
+
});
|
|
37895
|
+
};
|
|
37896
|
+
const updateAfterFullData = () => {
|
|
37897
|
+
const {
|
|
37898
|
+
transform,
|
|
37899
|
+
filterValue
|
|
37900
|
+
} = props;
|
|
37901
|
+
const {
|
|
37902
|
+
treeFullData,
|
|
37903
|
+
lastFilterValue
|
|
37904
|
+
} = internalData;
|
|
37905
|
+
const titleField = computeTitleField.value;
|
|
37906
|
+
const childrenField = computeChildrenField.value;
|
|
37907
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
37908
|
+
const filterOpts = computeFilterOpts.value;
|
|
37909
|
+
const {
|
|
37910
|
+
autoExpandAll,
|
|
37911
|
+
beforeFilterMethod,
|
|
37912
|
+
filterMethod,
|
|
37913
|
+
afterFilterMethod
|
|
37914
|
+
} = filterOpts;
|
|
37915
|
+
let fullList = treeFullData;
|
|
37916
|
+
let treeList = fullList;
|
|
37917
|
+
let filterStr = '';
|
|
37918
|
+
if (filterValue || filterValue === 0) {
|
|
37919
|
+
filterStr = `${filterValue}`;
|
|
37920
|
+
const handleSearch = filterMethod ? item => {
|
|
37921
|
+
return filterMethod({
|
|
37922
|
+
$tree: $xeTree,
|
|
37923
|
+
node: item,
|
|
37924
|
+
filterValue: filterStr
|
|
37925
|
+
});
|
|
37926
|
+
} : item => {
|
|
37927
|
+
return String(item[titleField]).toLowerCase().indexOf(filterStr) > -1;
|
|
37928
|
+
};
|
|
37929
|
+
const bafParams = {
|
|
37930
|
+
$tree: $xeTree,
|
|
37931
|
+
filterValue: filterStr
|
|
37932
|
+
};
|
|
37933
|
+
if (beforeFilterMethod) {
|
|
37934
|
+
beforeFilterMethod(bafParams);
|
|
37935
|
+
}
|
|
37936
|
+
if (transform) {
|
|
37937
|
+
treeList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().searchTree(treeFullData, handleSearch, {
|
|
37938
|
+
children: childrenField,
|
|
37939
|
+
mapChildren: mapChildrenField,
|
|
37940
|
+
isEvery: true
|
|
37941
|
+
});
|
|
37942
|
+
fullList = treeList;
|
|
37943
|
+
} else {
|
|
37944
|
+
fullList = treeFullData.filter(handleSearch);
|
|
37626
37945
|
}
|
|
37627
|
-
|
|
37628
|
-
|
|
37629
|
-
|
|
37630
|
-
|
|
37631
|
-
|
|
37632
|
-
|
|
37633
|
-
|
|
37634
|
-
|
|
37635
|
-
|
|
37636
|
-
|
|
37637
|
-
|
|
37638
|
-
|
|
37639
|
-
|
|
37640
|
-
return Object.keys(selectCheckboxMaps);
|
|
37641
|
-
},
|
|
37642
|
-
getCheckboxNodes() {
|
|
37643
|
-
const {
|
|
37644
|
-
nodeMaps,
|
|
37645
|
-
selectCheckboxMaps
|
|
37646
|
-
} = internalData;
|
|
37647
|
-
const list = [];
|
|
37648
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, (item, nodeid) => {
|
|
37649
|
-
const nodeItem = nodeMaps[nodeid];
|
|
37650
|
-
if (nodeItem) {
|
|
37651
|
-
list.push(nodeItem.item);
|
|
37946
|
+
internalData.lastFilterValue = filterStr;
|
|
37947
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
|
|
37948
|
+
// 筛选时自动展开
|
|
37949
|
+
if (autoExpandAll) {
|
|
37950
|
+
$xeTree.setAllExpandNode(true).then(() => {
|
|
37951
|
+
if (afterFilterMethod) {
|
|
37952
|
+
afterFilterMethod(bafParams);
|
|
37953
|
+
}
|
|
37954
|
+
});
|
|
37955
|
+
} else {
|
|
37956
|
+
if (afterFilterMethod) {
|
|
37957
|
+
afterFilterMethod(bafParams);
|
|
37958
|
+
}
|
|
37652
37959
|
}
|
|
37653
37960
|
});
|
|
37654
|
-
|
|
37655
|
-
|
|
37656
|
-
|
|
37657
|
-
|
|
37658
|
-
|
|
37659
|
-
|
|
37660
|
-
},
|
|
37661
|
-
setAllCheckboxNode(checked) {
|
|
37662
|
-
const {
|
|
37663
|
-
transform
|
|
37664
|
-
} = props;
|
|
37665
|
-
const selectMaps = {};
|
|
37666
|
-
const childrenField = computeChildrenField.value;
|
|
37667
|
-
const mapChildrenField = computeMapChildrenField.value;
|
|
37668
|
-
if (checked) {
|
|
37669
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(reactData.treeList, node => {
|
|
37670
|
-
const nodeid = getNodeId(node);
|
|
37671
|
-
selectMaps[nodeid] = true;
|
|
37672
|
-
}, {
|
|
37673
|
-
children: transform ? mapChildrenField : childrenField
|
|
37961
|
+
} else {
|
|
37962
|
+
if (transform) {
|
|
37963
|
+
treeList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().searchTree(treeFullData, () => true, {
|
|
37964
|
+
children: childrenField,
|
|
37965
|
+
mapChildren: mapChildrenField,
|
|
37966
|
+
isEvery: true
|
|
37674
37967
|
});
|
|
37968
|
+
fullList = treeList;
|
|
37969
|
+
if (lastFilterValue) {
|
|
37970
|
+
const bafParams = {
|
|
37971
|
+
$tree: $xeTree,
|
|
37972
|
+
filterValue: filterStr
|
|
37973
|
+
};
|
|
37974
|
+
if (beforeFilterMethod) {
|
|
37975
|
+
beforeFilterMethod(bafParams);
|
|
37976
|
+
}
|
|
37977
|
+
// 取消筛选时自动收起
|
|
37978
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
|
|
37979
|
+
if (autoExpandAll) {
|
|
37980
|
+
$xeTree.clearAllExpandNode().then(() => {
|
|
37981
|
+
if (afterFilterMethod) {
|
|
37982
|
+
afterFilterMethod(bafParams);
|
|
37983
|
+
}
|
|
37984
|
+
});
|
|
37985
|
+
} else {
|
|
37986
|
+
if (afterFilterMethod) {
|
|
37987
|
+
afterFilterMethod(bafParams);
|
|
37988
|
+
}
|
|
37989
|
+
}
|
|
37990
|
+
});
|
|
37991
|
+
}
|
|
37675
37992
|
}
|
|
37676
|
-
internalData.
|
|
37677
|
-
|
|
37678
|
-
|
|
37679
|
-
|
|
37680
|
-
|
|
37681
|
-
|
|
37682
|
-
|
|
37683
|
-
|
|
37684
|
-
|
|
37685
|
-
|
|
37686
|
-
|
|
37687
|
-
|
|
37688
|
-
|
|
37993
|
+
internalData.lastFilterValue = '';
|
|
37994
|
+
}
|
|
37995
|
+
internalData.afterVisibleList = fullList;
|
|
37996
|
+
internalData.afterTreeList = treeList;
|
|
37997
|
+
updateAfterDataIndex();
|
|
37998
|
+
};
|
|
37999
|
+
/**
|
|
38000
|
+
* 如果为虚拟树、则将树结构拍平
|
|
38001
|
+
*/
|
|
38002
|
+
const handleTreeToList = () => {
|
|
38003
|
+
const {
|
|
38004
|
+
transform
|
|
38005
|
+
} = props;
|
|
38006
|
+
const {
|
|
38007
|
+
afterTreeList,
|
|
38008
|
+
treeExpandedMaps
|
|
38009
|
+
} = internalData;
|
|
38010
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
38011
|
+
const expandMaps = {};
|
|
38012
|
+
if (transform) {
|
|
38013
|
+
const fullData = [];
|
|
38014
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeList, (item, index, items, path, parentRow) => {
|
|
38015
|
+
const nodeid = getNodeId(item);
|
|
38016
|
+
const parentNodeid = getNodeId(parentRow);
|
|
38017
|
+
if (!parentRow || expandMaps[parentNodeid] && treeExpandedMaps[parentNodeid]) {
|
|
38018
|
+
expandMaps[nodeid] = 1;
|
|
38019
|
+
fullData.push(item);
|
|
38020
|
+
}
|
|
38021
|
+
}, {
|
|
38022
|
+
children: mapChildrenField
|
|
37689
38023
|
});
|
|
37690
|
-
|
|
37691
|
-
|
|
37692
|
-
return
|
|
37693
|
-
}
|
|
37694
|
-
|
|
37695
|
-
|
|
37696
|
-
|
|
37697
|
-
|
|
37698
|
-
|
|
37699
|
-
|
|
37700
|
-
|
|
38024
|
+
updateScrollYStatus(fullData);
|
|
38025
|
+
internalData.afterVisibleList = fullData;
|
|
38026
|
+
return fullData;
|
|
38027
|
+
}
|
|
38028
|
+
return internalData.afterVisibleList;
|
|
38029
|
+
};
|
|
38030
|
+
const handleData = force => {
|
|
38031
|
+
const {
|
|
38032
|
+
scrollYLoad
|
|
38033
|
+
} = reactData;
|
|
38034
|
+
const {
|
|
38035
|
+
scrollYStore
|
|
38036
|
+
} = internalData;
|
|
38037
|
+
let fullList = internalData.afterVisibleList;
|
|
38038
|
+
if (force) {
|
|
38039
|
+
// 更新数据,处理筛选和排序
|
|
38040
|
+
updateAfterFullData();
|
|
38041
|
+
// 如果为虚拟树,将树结构拍平
|
|
38042
|
+
fullList = handleTreeToList();
|
|
38043
|
+
}
|
|
38044
|
+
const treeList = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0);
|
|
38045
|
+
reactData.treeList = treeList;
|
|
38046
|
+
};
|
|
38047
|
+
const triggerSearchEvent = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().debounce(() => handleData(true), 350, {
|
|
38048
|
+
trailing: true
|
|
38049
|
+
});
|
|
38050
|
+
const loadData = list => {
|
|
38051
|
+
const {
|
|
38052
|
+
expandAll,
|
|
38053
|
+
transform
|
|
38054
|
+
} = props;
|
|
38055
|
+
const {
|
|
38056
|
+
initialized,
|
|
38057
|
+
scrollYStore
|
|
38058
|
+
} = internalData;
|
|
38059
|
+
const keyField = computeKeyField.value;
|
|
38060
|
+
const parentField = computeParentField.value;
|
|
38061
|
+
const childrenField = computeChildrenField.value;
|
|
38062
|
+
const fullData = transform ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(list, {
|
|
38063
|
+
key: keyField,
|
|
38064
|
+
parentKey: parentField,
|
|
38065
|
+
mapChildren: childrenField
|
|
38066
|
+
}) : list ? list.slice(0) : [];
|
|
38067
|
+
internalData.treeFullData = fullData;
|
|
38068
|
+
Object.assign(scrollYStore, {
|
|
38069
|
+
startIndex: 0,
|
|
38070
|
+
endIndex: 1,
|
|
38071
|
+
visibleSize: 0
|
|
38072
|
+
});
|
|
38073
|
+
const sYLoad = updateScrollYStatus(fullData);
|
|
38074
|
+
cacheNodeMap();
|
|
38075
|
+
handleData(true);
|
|
38076
|
+
if (sYLoad) {
|
|
38077
|
+
if (!(props.height || props.maxHeight)) {
|
|
38078
|
+
errLog('vxe.error.reqProp', ['height | max-height | virtual-y-config.enabled=false']);
|
|
38079
|
+
}
|
|
38080
|
+
}
|
|
38081
|
+
return computeScrollLoad().then(() => {
|
|
38082
|
+
if (!initialized) {
|
|
38083
|
+
if (list && list.length) {
|
|
38084
|
+
internalData.initialized = true;
|
|
38085
|
+
if (expandAll) {
|
|
38086
|
+
$xeTree.setAllExpandNode(true);
|
|
38087
|
+
}
|
|
38088
|
+
$xeTree.setCheckboxByNodeId(props.checkNodeKeys || [], true);
|
|
37701
38089
|
}
|
|
37702
|
-
nodeids.forEach(nodeid => {
|
|
37703
|
-
handleSetExpand(nodeid, expanded, treeExpandedMaps);
|
|
37704
|
-
});
|
|
37705
|
-
reactData.updateExpandedFlag++;
|
|
37706
38090
|
}
|
|
37707
|
-
|
|
37708
|
-
|
|
37709
|
-
|
|
37710
|
-
|
|
37711
|
-
|
|
37712
|
-
|
|
37713
|
-
|
|
37714
|
-
}
|
|
37715
|
-
|
|
38091
|
+
updateHeight();
|
|
38092
|
+
refreshScroll();
|
|
38093
|
+
});
|
|
38094
|
+
};
|
|
38095
|
+
const updateScrollYStatus = fullData => {
|
|
38096
|
+
const {
|
|
38097
|
+
transform
|
|
38098
|
+
} = props;
|
|
38099
|
+
const virtualYOpts = computeVirtualYOpts.value;
|
|
38100
|
+
const allList = fullData || internalData.treeFullData;
|
|
38101
|
+
// 如果gt为0,则总是启用
|
|
38102
|
+
const scrollYLoad = !!transform && !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt < allList.length);
|
|
38103
|
+
reactData.scrollYLoad = scrollYLoad;
|
|
38104
|
+
return scrollYLoad;
|
|
38105
|
+
};
|
|
38106
|
+
const updateYSpace = () => {
|
|
38107
|
+
const {
|
|
38108
|
+
scrollYLoad
|
|
38109
|
+
} = reactData;
|
|
38110
|
+
const {
|
|
38111
|
+
scrollYStore,
|
|
38112
|
+
afterVisibleList
|
|
38113
|
+
} = internalData;
|
|
38114
|
+
reactData.bodyHeight = scrollYLoad ? afterVisibleList.length * scrollYStore.rowHeight : 0;
|
|
38115
|
+
reactData.topSpaceHeight = scrollYLoad ? Math.max(scrollYStore.startIndex * scrollYStore.rowHeight, 0) : 0;
|
|
38116
|
+
};
|
|
38117
|
+
const updateYData = () => {
|
|
38118
|
+
handleData();
|
|
38119
|
+
updateYSpace();
|
|
38120
|
+
};
|
|
38121
|
+
const computeScrollLoad = () => {
|
|
38122
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(() => {
|
|
37716
38123
|
const {
|
|
37717
|
-
|
|
37718
|
-
|
|
37719
|
-
} = internalData;
|
|
37720
|
-
const list = [];
|
|
37721
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(treeExpandedMaps, (item, nodeid) => {
|
|
37722
|
-
const nodeItem = nodeMaps[nodeid];
|
|
37723
|
-
if (nodeItem) {
|
|
37724
|
-
list.push(nodeItem.item);
|
|
37725
|
-
}
|
|
37726
|
-
});
|
|
37727
|
-
return list;
|
|
37728
|
-
},
|
|
37729
|
-
setExpandNode(nodes, expanded) {
|
|
38124
|
+
scrollYLoad
|
|
38125
|
+
} = reactData;
|
|
37730
38126
|
const {
|
|
37731
|
-
|
|
38127
|
+
scrollYStore
|
|
37732
38128
|
} = internalData;
|
|
37733
|
-
|
|
37734
|
-
|
|
37735
|
-
|
|
38129
|
+
const virtualBodyElem = refVirtualBody.value;
|
|
38130
|
+
const virtualYOpts = computeVirtualYOpts.value;
|
|
38131
|
+
let rowHeight = 0;
|
|
38132
|
+
let firstItemElem;
|
|
38133
|
+
if (virtualBodyElem) {
|
|
38134
|
+
if (!firstItemElem) {
|
|
38135
|
+
firstItemElem = virtualBodyElem.children[0];
|
|
37736
38136
|
}
|
|
37737
|
-
nodes.forEach(node => {
|
|
37738
|
-
const nodeid = getNodeId(node);
|
|
37739
|
-
handleSetExpand(nodeid, expanded, treeExpandedMaps);
|
|
37740
|
-
});
|
|
37741
|
-
reactData.updateExpandedFlag++;
|
|
37742
|
-
}
|
|
37743
|
-
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
37744
|
-
},
|
|
37745
|
-
toggleExpandByNodeId(nodeids) {
|
|
37746
|
-
const {
|
|
37747
|
-
treeExpandedMaps
|
|
37748
|
-
} = internalData;
|
|
37749
|
-
if (nodeids) {
|
|
37750
|
-
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodeids)) {
|
|
37751
|
-
nodeids = [nodeids];
|
|
37752
|
-
}
|
|
37753
|
-
nodeids.forEach(nodeid => {
|
|
37754
|
-
handleSetExpand(nodeid, !treeExpandedMaps[nodeid], treeExpandedMaps);
|
|
37755
|
-
});
|
|
37756
|
-
reactData.updateExpandedFlag++;
|
|
37757
38137
|
}
|
|
37758
|
-
|
|
37759
|
-
|
|
37760
|
-
toggleExpandNode(nodes) {
|
|
37761
|
-
const {
|
|
37762
|
-
treeExpandedMaps
|
|
37763
|
-
} = internalData;
|
|
37764
|
-
if (nodes) {
|
|
37765
|
-
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodes)) {
|
|
37766
|
-
nodes = [nodes];
|
|
37767
|
-
}
|
|
37768
|
-
nodes.forEach(node => {
|
|
37769
|
-
const nodeid = getNodeId(node);
|
|
37770
|
-
handleSetExpand(nodeid, !treeExpandedMaps[nodeid], treeExpandedMaps);
|
|
37771
|
-
});
|
|
37772
|
-
reactData.updateExpandedFlag++;
|
|
38138
|
+
if (firstItemElem) {
|
|
38139
|
+
rowHeight = firstItemElem.offsetHeight;
|
|
37773
38140
|
}
|
|
37774
|
-
|
|
37775
|
-
|
|
37776
|
-
|
|
37777
|
-
|
|
37778
|
-
|
|
37779
|
-
|
|
37780
|
-
|
|
37781
|
-
|
|
37782
|
-
|
|
37783
|
-
|
|
37784
|
-
|
|
37785
|
-
if (expanded) {
|
|
37786
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(reactData.treeList, node => {
|
|
37787
|
-
const childList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, childrenField);
|
|
37788
|
-
const hasChild = childList && childList.length;
|
|
37789
|
-
if (hasChild) {
|
|
37790
|
-
const nodeid = getNodeId(node);
|
|
37791
|
-
treeExpandedMaps[nodeid] = true;
|
|
37792
|
-
}
|
|
37793
|
-
}, {
|
|
37794
|
-
children: transform ? mapChildrenField : childrenField
|
|
37795
|
-
});
|
|
38141
|
+
rowHeight = Math.max(20, rowHeight);
|
|
38142
|
+
scrollYStore.rowHeight = rowHeight;
|
|
38143
|
+
// 计算 Y 逻辑
|
|
38144
|
+
if (scrollYLoad) {
|
|
38145
|
+
const scrollBodyElem = refVirtualWrapper.value;
|
|
38146
|
+
const visibleYSize = Math.max(8, scrollBodyElem ? Math.ceil(scrollBodyElem.clientHeight / rowHeight) : 0);
|
|
38147
|
+
const offsetYSize = Math.max(0, Math.min(2, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(virtualYOpts.oSize)));
|
|
38148
|
+
scrollYStore.offsetSize = offsetYSize;
|
|
38149
|
+
scrollYStore.visibleSize = visibleYSize;
|
|
38150
|
+
scrollYStore.endIndex = Math.max(scrollYStore.startIndex, visibleYSize + offsetYSize, scrollYStore.endIndex);
|
|
38151
|
+
updateYData();
|
|
37796
38152
|
} else {
|
|
37797
|
-
|
|
37798
|
-
}
|
|
37799
|
-
reactData.updateExpandedFlag++;
|
|
37800
|
-
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
37801
|
-
},
|
|
37802
|
-
reloadExpandNode(node) {
|
|
37803
|
-
const {
|
|
37804
|
-
lazy
|
|
37805
|
-
} = props;
|
|
37806
|
-
if (lazy) {
|
|
37807
|
-
treeMethods.clearExpandLoaded(node);
|
|
37808
|
-
return handleAsyncTreeExpandChilds(node);
|
|
38153
|
+
updateYSpace();
|
|
37809
38154
|
}
|
|
37810
|
-
|
|
37811
|
-
|
|
37812
|
-
|
|
37813
|
-
|
|
37814
|
-
|
|
37815
|
-
|
|
37816
|
-
|
|
37817
|
-
|
|
37818
|
-
|
|
37819
|
-
|
|
37820
|
-
|
|
37821
|
-
|
|
37822
|
-
nodeItem.treeLoaded = false;
|
|
37823
|
-
}
|
|
38155
|
+
});
|
|
38156
|
+
};
|
|
38157
|
+
/**
|
|
38158
|
+
* 如果有滚动条,则滚动到对应的位置
|
|
38159
|
+
* @param {Number} scrollLeft 左距离
|
|
38160
|
+
* @param {Number} scrollTop 上距离
|
|
38161
|
+
*/
|
|
38162
|
+
const scrollTo = (scrollLeft, scrollTop) => {
|
|
38163
|
+
const scrollBodyElem = refVirtualWrapper.value;
|
|
38164
|
+
if (scrollBodyElem) {
|
|
38165
|
+
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollLeft)) {
|
|
38166
|
+
scrollBodyElem.scrollLeft = scrollLeft;
|
|
37824
38167
|
}
|
|
37825
|
-
|
|
37826
|
-
|
|
37827
|
-
/**
|
|
37828
|
-
* 用于树结构,给行数据加载子节点
|
|
37829
|
-
*/
|
|
37830
|
-
loadChildrenNode(node, childRecords) {
|
|
37831
|
-
const {
|
|
37832
|
-
lazy,
|
|
37833
|
-
transform
|
|
37834
|
-
} = props;
|
|
37835
|
-
const {
|
|
37836
|
-
nodeMaps
|
|
37837
|
-
} = internalData;
|
|
37838
|
-
if (!lazy) {
|
|
37839
|
-
return Promise.resolve([]);
|
|
38168
|
+
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollTop)) {
|
|
38169
|
+
scrollBodyElem.scrollTop = scrollTop;
|
|
37840
38170
|
}
|
|
37841
|
-
|
|
37842
|
-
|
|
37843
|
-
|
|
37844
|
-
|
|
37845
|
-
|
|
37846
|
-
|
|
37847
|
-
|
|
37848
|
-
|
|
37849
|
-
item: node,
|
|
37850
|
-
itemIndex: -1,
|
|
37851
|
-
items,
|
|
37852
|
-
parent: parent || parentNodeItem.item,
|
|
37853
|
-
nodes: parentNodes.concat(nodes),
|
|
37854
|
-
level: parentLevel + nodes.length,
|
|
37855
|
-
lineCount: 0,
|
|
37856
|
-
treeLoaded: false
|
|
37857
|
-
};
|
|
37858
|
-
}, {
|
|
37859
|
-
children: childrenField
|
|
37860
|
-
});
|
|
37861
|
-
node[childrenField] = nodeList;
|
|
37862
|
-
if (transform) {
|
|
37863
|
-
node[childrenField] = nodeList;
|
|
37864
|
-
}
|
|
37865
|
-
updateNodeLine(node);
|
|
37866
|
-
return nodeList;
|
|
37867
|
-
});
|
|
37868
|
-
},
|
|
37869
|
-
isExpandByNode,
|
|
37870
|
-
isCheckedByRadioNodeId,
|
|
37871
|
-
isCheckedByRadioNode,
|
|
37872
|
-
isCheckedByCheckboxNodeId,
|
|
37873
|
-
isIndeterminateByCheckboxNode,
|
|
37874
|
-
isCheckedByCheckboxNode,
|
|
37875
|
-
getCheckboxIndeterminateNodes() {
|
|
37876
|
-
const {
|
|
37877
|
-
nodeMaps,
|
|
37878
|
-
indeterminateRowMaps
|
|
37879
|
-
} = internalData;
|
|
37880
|
-
const list = [];
|
|
37881
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(indeterminateRowMaps, (item, nodeid) => {
|
|
37882
|
-
const nodeItem = nodeMaps[nodeid];
|
|
37883
|
-
if (nodeItem) {
|
|
37884
|
-
list.push(nodeItem.item);
|
|
37885
|
-
}
|
|
38171
|
+
}
|
|
38172
|
+
if (reactData.scrollYLoad) {
|
|
38173
|
+
return new Promise(resolve => {
|
|
38174
|
+
setTimeout(() => {
|
|
38175
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
|
|
38176
|
+
resolve();
|
|
38177
|
+
});
|
|
38178
|
+
}, 50);
|
|
37886
38179
|
});
|
|
37887
|
-
return list;
|
|
37888
38180
|
}
|
|
38181
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
37889
38182
|
};
|
|
37890
|
-
|
|
37891
|
-
|
|
37892
|
-
|
|
37893
|
-
|
|
38183
|
+
/**
|
|
38184
|
+
* 刷新滚动条
|
|
38185
|
+
*/
|
|
38186
|
+
const refreshScroll = () => {
|
|
37894
38187
|
const {
|
|
37895
|
-
|
|
37896
|
-
|
|
37897
|
-
|
|
37898
|
-
|
|
37899
|
-
|
|
37900
|
-
|
|
37901
|
-
|
|
37902
|
-
|
|
37903
|
-
if (!nodeid) {
|
|
37904
|
-
nodeid = getNodeUniqueId();
|
|
37905
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item, valueField, nodeid);
|
|
38188
|
+
lastScrollLeft,
|
|
38189
|
+
lastScrollTop
|
|
38190
|
+
} = internalData;
|
|
38191
|
+
return clearScroll().then(() => {
|
|
38192
|
+
if (lastScrollLeft || lastScrollTop) {
|
|
38193
|
+
internalData.lastScrollLeft = 0;
|
|
38194
|
+
internalData.lastScrollTop = 0;
|
|
38195
|
+
return scrollTo(lastScrollLeft, lastScrollTop);
|
|
37906
38196
|
}
|
|
37907
|
-
keyMaps[nodeid] = {
|
|
37908
|
-
item,
|
|
37909
|
-
itemIndex,
|
|
37910
|
-
items,
|
|
37911
|
-
parent,
|
|
37912
|
-
nodes,
|
|
37913
|
-
level: nodes.length,
|
|
37914
|
-
lineCount: 0,
|
|
37915
|
-
treeLoaded: false
|
|
37916
|
-
};
|
|
37917
|
-
}, {
|
|
37918
|
-
children: transform ? mapChildrenField : childrenField
|
|
37919
38197
|
});
|
|
37920
|
-
internalData.nodeMaps = keyMaps;
|
|
37921
38198
|
};
|
|
37922
|
-
|
|
37923
|
-
|
|
37924
|
-
|
|
37925
|
-
|
|
37926
|
-
} = props;
|
|
38199
|
+
/**
|
|
38200
|
+
* 重新计算列表
|
|
38201
|
+
*/
|
|
38202
|
+
const recalculate = () => {
|
|
37927
38203
|
const {
|
|
37928
|
-
|
|
38204
|
+
scrollYStore
|
|
37929
38205
|
} = internalData;
|
|
37930
|
-
const keyField = computeKeyField.value;
|
|
37931
|
-
const parentField = computeParentField.value;
|
|
37932
|
-
const mapChildrenField = computeMapChildrenField.value;
|
|
37933
|
-
if (transform) {
|
|
37934
|
-
reactData.treeList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(list, {
|
|
37935
|
-
key: keyField,
|
|
37936
|
-
parentKey: parentField,
|
|
37937
|
-
mapChildren: mapChildrenField
|
|
37938
|
-
});
|
|
37939
|
-
} else {
|
|
37940
|
-
reactData.treeList = list ? list.slice(0) : [];
|
|
37941
|
-
}
|
|
37942
|
-
cacheNodeMap();
|
|
37943
|
-
if (!initialized) {
|
|
37944
|
-
if (list && list.length) {
|
|
37945
|
-
internalData.initialized = true;
|
|
37946
|
-
if (expandAll) {
|
|
37947
|
-
$xeTree.setAllExpandNode(true);
|
|
37948
|
-
}
|
|
37949
|
-
$xeTree.setCheckboxByNodeId(props.checkNodeKeys || [], true);
|
|
37950
|
-
}
|
|
37951
|
-
}
|
|
37952
|
-
};
|
|
37953
|
-
const handleCountLine = (item, isRoot, nodeItem) => {
|
|
37954
38206
|
const {
|
|
37955
|
-
|
|
37956
|
-
} =
|
|
37957
|
-
const
|
|
37958
|
-
|
|
37959
|
-
|
|
37960
|
-
|
|
37961
|
-
|
|
37962
|
-
|
|
37963
|
-
|
|
37964
|
-
|
|
38207
|
+
rowHeight
|
|
38208
|
+
} = scrollYStore;
|
|
38209
|
+
const el = refElem.value;
|
|
38210
|
+
if (el && el.clientWidth && el.clientHeight) {
|
|
38211
|
+
const parentEl = getParentElem();
|
|
38212
|
+
const headerWrapperEl = refHeaderWrapperElem.value;
|
|
38213
|
+
const footerWrapperEl = refFooterWrapperElem.value;
|
|
38214
|
+
const headHeight = headerWrapperEl ? headerWrapperEl.clientHeight : 0;
|
|
38215
|
+
const footHeight = footerWrapperEl ? footerWrapperEl.clientHeight : 0;
|
|
38216
|
+
if (parentEl) {
|
|
38217
|
+
const parentPaddingSize = getPaddingTopBottomSize(parentEl);
|
|
38218
|
+
reactData.parentHeight = Math.max(headHeight + footHeight + rowHeight, parentEl.clientHeight - parentPaddingSize - headHeight - footHeight);
|
|
38219
|
+
}
|
|
38220
|
+
updateHeight();
|
|
38221
|
+
return computeScrollLoad().then(() => {
|
|
38222
|
+
updateHeight();
|
|
38223
|
+
updateYSpace();
|
|
37965
38224
|
});
|
|
37966
38225
|
}
|
|
38226
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
37967
38227
|
};
|
|
37968
|
-
const
|
|
38228
|
+
const loadYData = evnt => {
|
|
37969
38229
|
const {
|
|
37970
|
-
|
|
38230
|
+
scrollYStore
|
|
37971
38231
|
} = internalData;
|
|
37972
|
-
|
|
37973
|
-
|
|
37974
|
-
|
|
37975
|
-
|
|
37976
|
-
|
|
37977
|
-
|
|
37978
|
-
|
|
37979
|
-
|
|
37980
|
-
|
|
37981
|
-
|
|
37982
|
-
|
|
37983
|
-
|
|
38232
|
+
const {
|
|
38233
|
+
startIndex,
|
|
38234
|
+
endIndex,
|
|
38235
|
+
visibleSize,
|
|
38236
|
+
offsetSize,
|
|
38237
|
+
rowHeight
|
|
38238
|
+
} = scrollYStore;
|
|
38239
|
+
const scrollBodyElem = evnt.target;
|
|
38240
|
+
const scrollTop = scrollBodyElem.scrollTop;
|
|
38241
|
+
const toVisibleIndex = Math.floor(scrollTop / rowHeight);
|
|
38242
|
+
const offsetStartIndex = Math.max(0, toVisibleIndex - 1 - offsetSize);
|
|
38243
|
+
const offsetEndIndex = toVisibleIndex + visibleSize + offsetSize;
|
|
38244
|
+
if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
|
|
38245
|
+
if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
|
|
38246
|
+
scrollYStore.startIndex = offsetStartIndex;
|
|
38247
|
+
scrollYStore.endIndex = offsetEndIndex;
|
|
38248
|
+
updateYData();
|
|
37984
38249
|
}
|
|
37985
38250
|
}
|
|
37986
38251
|
};
|
|
38252
|
+
const scrollEvent = evnt => {
|
|
38253
|
+
const scrollBodyElem = evnt.target;
|
|
38254
|
+
const scrollTop = scrollBodyElem.scrollTop;
|
|
38255
|
+
const scrollLeft = scrollBodyElem.scrollLeft;
|
|
38256
|
+
const isX = scrollLeft !== internalData.lastScrollLeft;
|
|
38257
|
+
const isY = scrollTop !== internalData.lastScrollTop;
|
|
38258
|
+
internalData.lastScrollTop = scrollTop;
|
|
38259
|
+
internalData.lastScrollLeft = scrollLeft;
|
|
38260
|
+
if (reactData.scrollYLoad) {
|
|
38261
|
+
loadYData(evnt);
|
|
38262
|
+
}
|
|
38263
|
+
internalData.lastScrollTime = Date.now();
|
|
38264
|
+
dispatchEvent('scroll', {
|
|
38265
|
+
scrollLeft,
|
|
38266
|
+
scrollTop,
|
|
38267
|
+
isX,
|
|
38268
|
+
isY
|
|
38269
|
+
}, evnt);
|
|
38270
|
+
};
|
|
38271
|
+
const clearScroll = () => {
|
|
38272
|
+
const scrollBodyElem = refVirtualWrapper.value;
|
|
38273
|
+
if (scrollBodyElem) {
|
|
38274
|
+
scrollBodyElem.scrollTop = 0;
|
|
38275
|
+
scrollBodyElem.scrollLeft = 0;
|
|
38276
|
+
}
|
|
38277
|
+
internalData.lastScrollTop = 0;
|
|
38278
|
+
internalData.lastScrollLeft = 0;
|
|
38279
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
38280
|
+
};
|
|
37987
38281
|
const handleNodeClickEvent = (evnt, node) => {
|
|
37988
38282
|
const {
|
|
37989
38283
|
showRadio,
|
|
@@ -38071,7 +38365,6 @@ function getNodeUniqueId() {
|
|
|
38071
38365
|
if (!checkStrictly && $xeTree.isCheckedByCheckboxNodeId(nodeid)) {
|
|
38072
38366
|
handleCheckedCheckboxNode(childRows, true);
|
|
38073
38367
|
}
|
|
38074
|
-
updateNodeLine(node);
|
|
38075
38368
|
dispatchEvent('load-success', {
|
|
38076
38369
|
node,
|
|
38077
38370
|
data: childRecords
|
|
@@ -38079,7 +38372,6 @@ function getNodeUniqueId() {
|
|
|
38079
38372
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
38080
38373
|
});
|
|
38081
38374
|
} else {
|
|
38082
|
-
updateNodeLine(node);
|
|
38083
38375
|
dispatchEvent('load-success', {
|
|
38084
38376
|
node,
|
|
38085
38377
|
data: childRecords
|
|
@@ -38093,13 +38385,14 @@ function getNodeUniqueId() {
|
|
|
38093
38385
|
if (treeExpandLazyLoadedMaps[nodeid]) {
|
|
38094
38386
|
treeExpandLazyLoadedMaps[nodeid] = false;
|
|
38095
38387
|
}
|
|
38096
|
-
updateNodeLine(node);
|
|
38097
38388
|
dispatchEvent('load-error', {
|
|
38098
38389
|
node,
|
|
38099
38390
|
data: e
|
|
38100
38391
|
}, new Event('load-error'));
|
|
38101
38392
|
}).finally(() => {
|
|
38102
|
-
|
|
38393
|
+
handleTreeToList();
|
|
38394
|
+
handleData();
|
|
38395
|
+
return recalculate();
|
|
38103
38396
|
});
|
|
38104
38397
|
} else {
|
|
38105
38398
|
resolve();
|
|
@@ -38175,8 +38468,9 @@ function getNodeUniqueId() {
|
|
|
38175
38468
|
});
|
|
38176
38469
|
}
|
|
38177
38470
|
reactData.updateExpandedFlag++;
|
|
38178
|
-
|
|
38179
|
-
|
|
38471
|
+
handleTreeToList();
|
|
38472
|
+
handleData();
|
|
38473
|
+
return Promise.all(result).then(() => recalculate());
|
|
38180
38474
|
};
|
|
38181
38475
|
const toggleExpandEvent = (evnt, node) => {
|
|
38182
38476
|
const {
|
|
@@ -38197,12 +38491,10 @@ function getNodeUniqueId() {
|
|
|
38197
38491
|
const {
|
|
38198
38492
|
transform
|
|
38199
38493
|
} = props;
|
|
38200
|
-
const {
|
|
38201
|
-
treeList
|
|
38202
|
-
} = reactData;
|
|
38203
38494
|
const {
|
|
38204
38495
|
selectCheckboxMaps,
|
|
38205
|
-
indeterminateRowMaps
|
|
38496
|
+
indeterminateRowMaps,
|
|
38497
|
+
afterTreeList
|
|
38206
38498
|
} = internalData;
|
|
38207
38499
|
const childrenField = computeChildrenField.value;
|
|
38208
38500
|
const mapChildrenField = computeMapChildrenField.value;
|
|
@@ -38214,7 +38506,7 @@ function getNodeUniqueId() {
|
|
|
38214
38506
|
if (!checkStrictly) {
|
|
38215
38507
|
const childRowMaps = {};
|
|
38216
38508
|
const childRowList = [];
|
|
38217
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(
|
|
38509
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeList, node => {
|
|
38218
38510
|
const nodeid = getNodeId(node);
|
|
38219
38511
|
const childList = node[childrenField];
|
|
38220
38512
|
if (childList && childList.length && !childRowMaps[nodeid]) {
|
|
@@ -38230,11 +38522,13 @@ function getNodeUniqueId() {
|
|
|
38230
38522
|
const childList = vals[2];
|
|
38231
38523
|
let sLen = 0; // 已选
|
|
38232
38524
|
let hLen = 0; // 半选
|
|
38233
|
-
let vLen = 0; //
|
|
38525
|
+
let vLen = 0; // 有效子行
|
|
38526
|
+
const cLen = childList.length; // 子行
|
|
38234
38527
|
childList.forEach(checkMethod ? item => {
|
|
38235
38528
|
const childNodeid = getNodeId(item);
|
|
38236
38529
|
const isSelect = selectCheckboxMaps[childNodeid];
|
|
38237
38530
|
if (checkMethod({
|
|
38531
|
+
$tree: $xeTree,
|
|
38238
38532
|
node: item
|
|
38239
38533
|
})) {
|
|
38240
38534
|
if (isSelect) {
|
|
@@ -38260,8 +38554,25 @@ function getNodeUniqueId() {
|
|
|
38260
38554
|
}
|
|
38261
38555
|
vLen++;
|
|
38262
38556
|
});
|
|
38263
|
-
|
|
38264
|
-
|
|
38557
|
+
let isSelected = false;
|
|
38558
|
+
if (cLen > 0) {
|
|
38559
|
+
if (vLen > 0) {
|
|
38560
|
+
isSelected = (sLen > 0 || hLen > 0) && sLen >= vLen;
|
|
38561
|
+
} else {
|
|
38562
|
+
// 如果存在子项禁用
|
|
38563
|
+
if (sLen > 0 && sLen >= vLen) {
|
|
38564
|
+
isSelected = true;
|
|
38565
|
+
} else if (selectCheckboxMaps[nodeid]) {
|
|
38566
|
+
isSelected = true;
|
|
38567
|
+
} else {
|
|
38568
|
+
isSelected = false;
|
|
38569
|
+
}
|
|
38570
|
+
}
|
|
38571
|
+
} else {
|
|
38572
|
+
// 如果无子项
|
|
38573
|
+
isSelected = selectCheckboxMaps[nodeid];
|
|
38574
|
+
}
|
|
38575
|
+
const halfSelect = !isSelected && (sLen > 0 || hLen > 0);
|
|
38265
38576
|
if (isSelected) {
|
|
38266
38577
|
selectCheckboxMaps[nodeid] = node;
|
|
38267
38578
|
if (indeterminateRowMaps[nodeid]) {
|
|
@@ -38302,6 +38613,7 @@ function getNodeUniqueId() {
|
|
|
38302
38613
|
let isDisabled = !!checkMethod;
|
|
38303
38614
|
if (checkMethod) {
|
|
38304
38615
|
isDisabled = !checkMethod({
|
|
38616
|
+
$tree: $xeTree,
|
|
38305
38617
|
node
|
|
38306
38618
|
});
|
|
38307
38619
|
}
|
|
@@ -38317,7 +38629,7 @@ function getNodeUniqueId() {
|
|
|
38317
38629
|
selectCheckboxMaps[nodeid] = node;
|
|
38318
38630
|
}
|
|
38319
38631
|
if (!checkStrictly) {
|
|
38320
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, childrenField), childNode => {
|
|
38632
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, transform ? mapChildrenField : childrenField), childNode => {
|
|
38321
38633
|
const childNodeid = getNodeId(childNode);
|
|
38322
38634
|
if (isChecked) {
|
|
38323
38635
|
if (!selectCheckboxMaps[childNodeid]) {
|
|
@@ -38387,6 +38699,7 @@ function getNodeUniqueId() {
|
|
|
38387
38699
|
let isDisabled = !!checkMethod;
|
|
38388
38700
|
if (checkMethod) {
|
|
38389
38701
|
isDisabled = !checkMethod({
|
|
38702
|
+
$tree: $xeTree,
|
|
38390
38703
|
node
|
|
38391
38704
|
});
|
|
38392
38705
|
}
|
|
@@ -38403,6 +38716,376 @@ function getNodeUniqueId() {
|
|
|
38403
38716
|
checked: isChecked
|
|
38404
38717
|
}, evnt);
|
|
38405
38718
|
};
|
|
38719
|
+
const handleGlobalResizeEvent = () => {
|
|
38720
|
+
const el = refElem.value;
|
|
38721
|
+
if (!el || !el.clientWidth) {
|
|
38722
|
+
return;
|
|
38723
|
+
}
|
|
38724
|
+
recalculate();
|
|
38725
|
+
};
|
|
38726
|
+
const treeMethods = {
|
|
38727
|
+
dispatchEvent,
|
|
38728
|
+
getNodeId,
|
|
38729
|
+
loadData(data) {
|
|
38730
|
+
return loadData(data || []);
|
|
38731
|
+
},
|
|
38732
|
+
reloadData(data) {
|
|
38733
|
+
return loadData(data || []);
|
|
38734
|
+
},
|
|
38735
|
+
clearCurrentNode() {
|
|
38736
|
+
reactData.currentNode = null;
|
|
38737
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
38738
|
+
},
|
|
38739
|
+
getCurrentNodeId() {
|
|
38740
|
+
const {
|
|
38741
|
+
currentNode
|
|
38742
|
+
} = reactData;
|
|
38743
|
+
if (currentNode) {
|
|
38744
|
+
return getNodeId(currentNode);
|
|
38745
|
+
}
|
|
38746
|
+
return null;
|
|
38747
|
+
},
|
|
38748
|
+
getCurrentNode() {
|
|
38749
|
+
const {
|
|
38750
|
+
currentNode
|
|
38751
|
+
} = reactData;
|
|
38752
|
+
const {
|
|
38753
|
+
nodeMaps
|
|
38754
|
+
} = internalData;
|
|
38755
|
+
if (currentNode) {
|
|
38756
|
+
const nodeItem = nodeMaps[getNodeId(currentNode)];
|
|
38757
|
+
if (nodeItem) {
|
|
38758
|
+
return nodeItem.item;
|
|
38759
|
+
}
|
|
38760
|
+
}
|
|
38761
|
+
return null;
|
|
38762
|
+
},
|
|
38763
|
+
setCurrentNodeId(nodeKey) {
|
|
38764
|
+
const {
|
|
38765
|
+
nodeMaps
|
|
38766
|
+
} = internalData;
|
|
38767
|
+
const nodeItem = nodeMaps[nodeKey];
|
|
38768
|
+
reactData.currentNode = nodeItem ? nodeItem.item : null;
|
|
38769
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
38770
|
+
},
|
|
38771
|
+
setCurrentNode(node) {
|
|
38772
|
+
reactData.currentNode = node;
|
|
38773
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
38774
|
+
},
|
|
38775
|
+
clearRadioNode() {
|
|
38776
|
+
reactData.selectRadioKey = null;
|
|
38777
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
38778
|
+
},
|
|
38779
|
+
getRadioNodeId() {
|
|
38780
|
+
return reactData.selectRadioKey || null;
|
|
38781
|
+
},
|
|
38782
|
+
getRadioNode() {
|
|
38783
|
+
const {
|
|
38784
|
+
selectRadioKey
|
|
38785
|
+
} = reactData;
|
|
38786
|
+
const {
|
|
38787
|
+
nodeMaps
|
|
38788
|
+
} = internalData;
|
|
38789
|
+
if (selectRadioKey) {
|
|
38790
|
+
const nodeItem = nodeMaps[selectRadioKey];
|
|
38791
|
+
if (nodeItem) {
|
|
38792
|
+
return nodeItem.item;
|
|
38793
|
+
}
|
|
38794
|
+
}
|
|
38795
|
+
return null;
|
|
38796
|
+
},
|
|
38797
|
+
setRadioNodeId(nodeKey) {
|
|
38798
|
+
reactData.selectRadioKey = nodeKey;
|
|
38799
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
38800
|
+
},
|
|
38801
|
+
setRadioNode,
|
|
38802
|
+
setCheckboxNode,
|
|
38803
|
+
setCheckboxByNodeId,
|
|
38804
|
+
getCheckboxNodeIds() {
|
|
38805
|
+
const {
|
|
38806
|
+
selectCheckboxMaps
|
|
38807
|
+
} = internalData;
|
|
38808
|
+
return Object.keys(selectCheckboxMaps);
|
|
38809
|
+
},
|
|
38810
|
+
getCheckboxNodes() {
|
|
38811
|
+
const {
|
|
38812
|
+
nodeMaps,
|
|
38813
|
+
selectCheckboxMaps
|
|
38814
|
+
} = internalData;
|
|
38815
|
+
const list = [];
|
|
38816
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, (item, nodeid) => {
|
|
38817
|
+
const nodeItem = nodeMaps[nodeid];
|
|
38818
|
+
if (nodeItem) {
|
|
38819
|
+
list.push(nodeItem.item);
|
|
38820
|
+
}
|
|
38821
|
+
});
|
|
38822
|
+
return list;
|
|
38823
|
+
},
|
|
38824
|
+
clearCheckboxNode() {
|
|
38825
|
+
internalData.selectCheckboxMaps = {};
|
|
38826
|
+
reactData.updateCheckboxFlag++;
|
|
38827
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(() => {
|
|
38828
|
+
return {
|
|
38829
|
+
checkNodeKeys: []
|
|
38830
|
+
};
|
|
38831
|
+
});
|
|
38832
|
+
},
|
|
38833
|
+
setAllCheckboxNode(checked) {
|
|
38834
|
+
const {
|
|
38835
|
+
transform
|
|
38836
|
+
} = props;
|
|
38837
|
+
const selectMaps = {};
|
|
38838
|
+
const childrenField = computeChildrenField.value;
|
|
38839
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
38840
|
+
const checkKeys = [];
|
|
38841
|
+
if (checked) {
|
|
38842
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(internalData.afterTreeList, node => {
|
|
38843
|
+
const nodeid = getNodeId(node);
|
|
38844
|
+
checkKeys.push(nodeid);
|
|
38845
|
+
selectMaps[nodeid] = true;
|
|
38846
|
+
}, {
|
|
38847
|
+
children: transform ? mapChildrenField : childrenField
|
|
38848
|
+
});
|
|
38849
|
+
}
|
|
38850
|
+
internalData.selectCheckboxMaps = selectMaps;
|
|
38851
|
+
reactData.updateCheckboxFlag++;
|
|
38852
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(() => {
|
|
38853
|
+
return {
|
|
38854
|
+
checkNodeKeys: checkKeys
|
|
38855
|
+
};
|
|
38856
|
+
});
|
|
38857
|
+
},
|
|
38858
|
+
clearExpandNode() {
|
|
38859
|
+
return treeMethods.clearAllExpandNode();
|
|
38860
|
+
},
|
|
38861
|
+
clearAllExpandNode() {
|
|
38862
|
+
const {
|
|
38863
|
+
nodeMaps,
|
|
38864
|
+
scrollYStore
|
|
38865
|
+
} = internalData;
|
|
38866
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(nodeMaps, nodeItem => {
|
|
38867
|
+
nodeItem.treeLoaded = false;
|
|
38868
|
+
});
|
|
38869
|
+
internalData.treeExpandedMaps = {};
|
|
38870
|
+
reactData.updateExpandedFlag++;
|
|
38871
|
+
reactData.topSpaceHeight = 0;
|
|
38872
|
+
scrollYStore.startIndex = 0;
|
|
38873
|
+
scrollYStore.endIndex = 1;
|
|
38874
|
+
handleTreeToList();
|
|
38875
|
+
handleData();
|
|
38876
|
+
return recalculate();
|
|
38877
|
+
},
|
|
38878
|
+
setExpandByNodeId(nodeids, expanded) {
|
|
38879
|
+
const {
|
|
38880
|
+
treeExpandedMaps
|
|
38881
|
+
} = internalData;
|
|
38882
|
+
if (nodeids) {
|
|
38883
|
+
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodeids)) {
|
|
38884
|
+
nodeids = [nodeids];
|
|
38885
|
+
}
|
|
38886
|
+
nodeids.forEach(nodeid => {
|
|
38887
|
+
handleSetExpand(nodeid, expanded, treeExpandedMaps);
|
|
38888
|
+
});
|
|
38889
|
+
reactData.updateExpandedFlag++;
|
|
38890
|
+
}
|
|
38891
|
+
handleTreeToList();
|
|
38892
|
+
handleData();
|
|
38893
|
+
return recalculate();
|
|
38894
|
+
},
|
|
38895
|
+
getExpandNodeIds() {
|
|
38896
|
+
const {
|
|
38897
|
+
treeExpandedMaps
|
|
38898
|
+
} = internalData;
|
|
38899
|
+
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().keys(treeExpandedMaps);
|
|
38900
|
+
},
|
|
38901
|
+
getExpandNodes() {
|
|
38902
|
+
const {
|
|
38903
|
+
nodeMaps,
|
|
38904
|
+
treeExpandedMaps
|
|
38905
|
+
} = internalData;
|
|
38906
|
+
const list = [];
|
|
38907
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(treeExpandedMaps, (item, nodeid) => {
|
|
38908
|
+
const nodeItem = nodeMaps[nodeid];
|
|
38909
|
+
if (nodeItem) {
|
|
38910
|
+
list.push(nodeItem.item);
|
|
38911
|
+
}
|
|
38912
|
+
});
|
|
38913
|
+
return list;
|
|
38914
|
+
},
|
|
38915
|
+
setExpandNode(nodes, expanded) {
|
|
38916
|
+
const {
|
|
38917
|
+
treeExpandedMaps
|
|
38918
|
+
} = internalData;
|
|
38919
|
+
if (nodes) {
|
|
38920
|
+
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodes)) {
|
|
38921
|
+
nodes = [nodes];
|
|
38922
|
+
}
|
|
38923
|
+
nodes.forEach(node => {
|
|
38924
|
+
const nodeid = getNodeId(node);
|
|
38925
|
+
handleSetExpand(nodeid, expanded, treeExpandedMaps);
|
|
38926
|
+
});
|
|
38927
|
+
reactData.updateExpandedFlag++;
|
|
38928
|
+
}
|
|
38929
|
+
handleTreeToList();
|
|
38930
|
+
handleData();
|
|
38931
|
+
return recalculate();
|
|
38932
|
+
},
|
|
38933
|
+
toggleExpandByNodeId(nodeids) {
|
|
38934
|
+
const {
|
|
38935
|
+
treeExpandedMaps
|
|
38936
|
+
} = internalData;
|
|
38937
|
+
if (nodeids) {
|
|
38938
|
+
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodeids)) {
|
|
38939
|
+
nodeids = [nodeids];
|
|
38940
|
+
}
|
|
38941
|
+
nodeids.forEach(nodeid => {
|
|
38942
|
+
handleSetExpand(nodeid, !treeExpandedMaps[nodeid], treeExpandedMaps);
|
|
38943
|
+
});
|
|
38944
|
+
reactData.updateExpandedFlag++;
|
|
38945
|
+
}
|
|
38946
|
+
handleTreeToList();
|
|
38947
|
+
handleData();
|
|
38948
|
+
return recalculate();
|
|
38949
|
+
},
|
|
38950
|
+
toggleExpandNode(nodes) {
|
|
38951
|
+
const {
|
|
38952
|
+
treeExpandedMaps
|
|
38953
|
+
} = internalData;
|
|
38954
|
+
if (nodes) {
|
|
38955
|
+
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodes)) {
|
|
38956
|
+
nodes = [nodes];
|
|
38957
|
+
}
|
|
38958
|
+
nodes.forEach(node => {
|
|
38959
|
+
const nodeid = getNodeId(node);
|
|
38960
|
+
handleSetExpand(nodeid, !treeExpandedMaps[nodeid], treeExpandedMaps);
|
|
38961
|
+
});
|
|
38962
|
+
reactData.updateExpandedFlag++;
|
|
38963
|
+
}
|
|
38964
|
+
handleTreeToList();
|
|
38965
|
+
handleData();
|
|
38966
|
+
return recalculate();
|
|
38967
|
+
},
|
|
38968
|
+
setAllExpandNode(expanded) {
|
|
38969
|
+
const {
|
|
38970
|
+
transform
|
|
38971
|
+
} = props;
|
|
38972
|
+
const {
|
|
38973
|
+
treeExpandedMaps
|
|
38974
|
+
} = internalData;
|
|
38975
|
+
const childrenField = computeChildrenField.value;
|
|
38976
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
38977
|
+
if (expanded) {
|
|
38978
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(internalData.afterTreeList, node => {
|
|
38979
|
+
const childList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, childrenField);
|
|
38980
|
+
const hasChild = childList && childList.length;
|
|
38981
|
+
if (hasChild) {
|
|
38982
|
+
const nodeid = getNodeId(node);
|
|
38983
|
+
treeExpandedMaps[nodeid] = true;
|
|
38984
|
+
}
|
|
38985
|
+
}, {
|
|
38986
|
+
children: transform ? mapChildrenField : childrenField
|
|
38987
|
+
});
|
|
38988
|
+
} else {
|
|
38989
|
+
internalData.treeExpandedMaps = {};
|
|
38990
|
+
}
|
|
38991
|
+
reactData.updateExpandedFlag++;
|
|
38992
|
+
handleTreeToList();
|
|
38993
|
+
handleData();
|
|
38994
|
+
return recalculate();
|
|
38995
|
+
},
|
|
38996
|
+
reloadExpandNode(node) {
|
|
38997
|
+
const {
|
|
38998
|
+
lazy
|
|
38999
|
+
} = props;
|
|
39000
|
+
if (lazy) {
|
|
39001
|
+
treeMethods.clearExpandLoaded(node);
|
|
39002
|
+
return handleAsyncTreeExpandChilds(node);
|
|
39003
|
+
}
|
|
39004
|
+
return recalculate();
|
|
39005
|
+
},
|
|
39006
|
+
clearExpandLoaded(node) {
|
|
39007
|
+
const {
|
|
39008
|
+
lazy
|
|
39009
|
+
} = props;
|
|
39010
|
+
const {
|
|
39011
|
+
nodeMaps
|
|
39012
|
+
} = internalData;
|
|
39013
|
+
if (lazy) {
|
|
39014
|
+
const nodeItem = nodeMaps[getNodeId(node)];
|
|
39015
|
+
if (nodeItem) {
|
|
39016
|
+
nodeItem.treeLoaded = false;
|
|
39017
|
+
}
|
|
39018
|
+
}
|
|
39019
|
+
return recalculate();
|
|
39020
|
+
},
|
|
39021
|
+
/**
|
|
39022
|
+
* 用于树结构,给行数据加载子节点
|
|
39023
|
+
*/
|
|
39024
|
+
loadChildrenNode(node, childRecords) {
|
|
39025
|
+
const {
|
|
39026
|
+
lazy,
|
|
39027
|
+
transform
|
|
39028
|
+
} = props;
|
|
39029
|
+
const {
|
|
39030
|
+
nodeMaps
|
|
39031
|
+
} = internalData;
|
|
39032
|
+
if (!lazy) {
|
|
39033
|
+
return Promise.resolve([]);
|
|
39034
|
+
}
|
|
39035
|
+
const childrenField = computeChildrenField.value;
|
|
39036
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
39037
|
+
const parentNodeItem = nodeMaps[getNodeId(node)];
|
|
39038
|
+
const parentLevel = parentNodeItem ? parentNodeItem.level : 0;
|
|
39039
|
+
const parentNodes = parentNodeItem ? parentNodeItem.nodes : [];
|
|
39040
|
+
return createNode(childRecords).then(nodeList => {
|
|
39041
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(nodeList, (childRow, index, items, path, parent, nodes) => {
|
|
39042
|
+
const itemNodeId = getNodeId(childRow);
|
|
39043
|
+
nodeMaps[itemNodeId] = {
|
|
39044
|
+
item: node,
|
|
39045
|
+
index: -1,
|
|
39046
|
+
items,
|
|
39047
|
+
parent: parent || parentNodeItem.item,
|
|
39048
|
+
nodes: parentNodes.concat(nodes),
|
|
39049
|
+
level: parentLevel + nodes.length,
|
|
39050
|
+
treeIndex: -1,
|
|
39051
|
+
lineCount: 0,
|
|
39052
|
+
treeLoaded: false
|
|
39053
|
+
};
|
|
39054
|
+
}, {
|
|
39055
|
+
children: childrenField
|
|
39056
|
+
});
|
|
39057
|
+
node[childrenField] = nodeList;
|
|
39058
|
+
if (transform) {
|
|
39059
|
+
node[mapChildrenField] = nodeList;
|
|
39060
|
+
}
|
|
39061
|
+
updateAfterDataIndex();
|
|
39062
|
+
return nodeList;
|
|
39063
|
+
});
|
|
39064
|
+
},
|
|
39065
|
+
isExpandByNode,
|
|
39066
|
+
isCheckedByRadioNodeId,
|
|
39067
|
+
isCheckedByRadioNode,
|
|
39068
|
+
isCheckedByCheckboxNodeId,
|
|
39069
|
+
isIndeterminateByCheckboxNode,
|
|
39070
|
+
isCheckedByCheckboxNode,
|
|
39071
|
+
getCheckboxIndeterminateNodes() {
|
|
39072
|
+
const {
|
|
39073
|
+
nodeMaps,
|
|
39074
|
+
indeterminateRowMaps
|
|
39075
|
+
} = internalData;
|
|
39076
|
+
const list = [];
|
|
39077
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(indeterminateRowMaps, (item, nodeid) => {
|
|
39078
|
+
const nodeItem = nodeMaps[nodeid];
|
|
39079
|
+
if (nodeItem) {
|
|
39080
|
+
list.push(nodeItem.item);
|
|
39081
|
+
}
|
|
39082
|
+
});
|
|
39083
|
+
return list;
|
|
39084
|
+
},
|
|
39085
|
+
recalculate,
|
|
39086
|
+
scrollTo,
|
|
39087
|
+
clearScroll
|
|
39088
|
+
};
|
|
38406
39089
|
const treePrivateMethods = {};
|
|
38407
39090
|
Object.assign($xeTree, treeMethods, treePrivateMethods);
|
|
38408
39091
|
const renderRadio = (node, nodeid, isChecked) => {
|
|
@@ -38416,12 +39099,14 @@ function getNodeUniqueId() {
|
|
|
38416
39099
|
visibleMethod
|
|
38417
39100
|
} = radioOpts;
|
|
38418
39101
|
const isVisible = !visibleMethod || visibleMethod({
|
|
39102
|
+
$tree: $xeTree,
|
|
38419
39103
|
node
|
|
38420
39104
|
});
|
|
38421
39105
|
let isDisabled = !!checkMethod;
|
|
38422
39106
|
if (showRadio && showIcon && isVisible) {
|
|
38423
39107
|
if (checkMethod) {
|
|
38424
39108
|
isDisabled = !checkMethod({
|
|
39109
|
+
$tree: $xeTree,
|
|
38425
39110
|
node
|
|
38426
39111
|
});
|
|
38427
39112
|
}
|
|
@@ -38453,12 +39138,14 @@ function getNodeUniqueId() {
|
|
|
38453
39138
|
} = checkboxOpts;
|
|
38454
39139
|
const isIndeterminate = isIndeterminateByCheckboxNodeid(nodeid);
|
|
38455
39140
|
const isVisible = !visibleMethod || visibleMethod({
|
|
39141
|
+
$tree: $xeTree,
|
|
38456
39142
|
node
|
|
38457
39143
|
});
|
|
38458
39144
|
let isDisabled = !!checkMethod;
|
|
38459
39145
|
if (showCheckbox && showIcon && isVisible) {
|
|
38460
39146
|
if (checkMethod) {
|
|
38461
39147
|
isDisabled = !checkMethod({
|
|
39148
|
+
$tree: $xeTree,
|
|
38462
39149
|
node
|
|
38463
39150
|
});
|
|
38464
39151
|
}
|
|
@@ -38479,7 +39166,7 @@ function getNodeUniqueId() {
|
|
|
38479
39166
|
}
|
|
38480
39167
|
return renderEmptyElement($xeTree);
|
|
38481
39168
|
};
|
|
38482
|
-
const renderNode = node => {
|
|
39169
|
+
const renderNode = (node, nodeid) => {
|
|
38483
39170
|
const {
|
|
38484
39171
|
lazy,
|
|
38485
39172
|
showRadio,
|
|
@@ -38497,6 +39184,7 @@ function getNodeUniqueId() {
|
|
|
38497
39184
|
updateExpandedFlag
|
|
38498
39185
|
} = reactData;
|
|
38499
39186
|
const {
|
|
39187
|
+
afterTreeList,
|
|
38500
39188
|
nodeMaps,
|
|
38501
39189
|
treeExpandedMaps,
|
|
38502
39190
|
treeExpandLazyLoadedMaps
|
|
@@ -38509,30 +39197,13 @@ function getNodeUniqueId() {
|
|
|
38509
39197
|
const iconSlot = slots.icon;
|
|
38510
39198
|
const titleSlot = slots.title;
|
|
38511
39199
|
const extraSlot = slots.extra;
|
|
38512
|
-
const nodeid = getNodeId(node);
|
|
38513
39200
|
const isExpand = updateExpandedFlag && treeExpandedMaps[nodeid];
|
|
38514
39201
|
const nodeItem = nodeMaps[nodeid];
|
|
38515
39202
|
const nodeValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, titleField);
|
|
38516
|
-
const
|
|
38517
|
-
if (hasChild && treeExpandedMaps[nodeid]) {
|
|
38518
|
-
if (showLine) {
|
|
38519
|
-
childVns.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
38520
|
-
key: 'line',
|
|
38521
|
-
class: 'vxe-tree--node-child-line',
|
|
38522
|
-
style: {
|
|
38523
|
-
height: `calc(${nodeItem.lineCount} * var(--vxe-ui-tree-node-height) - var(--vxe-ui-tree-node-height) / 2)`,
|
|
38524
|
-
left: `${(nodeItem.level + 1) * (indent || 1)}px`
|
|
38525
|
-
}
|
|
38526
|
-
}));
|
|
38527
|
-
}
|
|
38528
|
-
childList.forEach(childItem => {
|
|
38529
|
-
childVns.push(renderNode(childItem));
|
|
38530
|
-
});
|
|
38531
|
-
}
|
|
39203
|
+
const nLevel = nodeItem.level;
|
|
38532
39204
|
let isRadioChecked = false;
|
|
38533
39205
|
if (showRadio) {
|
|
38534
|
-
|
|
38535
|
-
isRadioChecked = nodeid == selectRadioKey;
|
|
39206
|
+
isRadioChecked = nodeid === String(selectRadioKey);
|
|
38536
39207
|
}
|
|
38537
39208
|
let isCheckboxChecked = false;
|
|
38538
39209
|
if (showCheckbox) {
|
|
@@ -38546,8 +39217,14 @@ function getNodeUniqueId() {
|
|
|
38546
39217
|
hasLazyChilds = node[hasChildField];
|
|
38547
39218
|
isLazyLoaded = !!nodeItem.treeLoaded;
|
|
38548
39219
|
}
|
|
39220
|
+
const prevNode = nodeItem.items[nodeItem.treeIndex - 1];
|
|
39221
|
+
const nParams = {
|
|
39222
|
+
node,
|
|
39223
|
+
isExpand
|
|
39224
|
+
};
|
|
38549
39225
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
38550
|
-
|
|
39226
|
+
key: nodeid,
|
|
39227
|
+
class: ['vxe-tree--node-wrapper', `node--level-${nLevel}`],
|
|
38551
39228
|
nodeid
|
|
38552
39229
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
38553
39230
|
class: ['vxe-tree--node-item', {
|
|
@@ -38556,7 +39233,7 @@ function getNodeUniqueId() {
|
|
|
38556
39233
|
'is-checkbox--checked': isCheckboxChecked
|
|
38557
39234
|
}],
|
|
38558
39235
|
style: {
|
|
38559
|
-
paddingLeft: `${(
|
|
39236
|
+
paddingLeft: `${(nLevel - 1) * (indent || 1)}px`
|
|
38560
39237
|
},
|
|
38561
39238
|
onClick(evnt) {
|
|
38562
39239
|
handleNodeClickEvent(evnt, node);
|
|
@@ -38564,41 +39241,57 @@ function getNodeUniqueId() {
|
|
|
38564
39241
|
onDblclick(evnt) {
|
|
38565
39242
|
handleNodeDblclickEvent(evnt, node);
|
|
38566
39243
|
}
|
|
38567
|
-
}, [
|
|
39244
|
+
}, [showLine ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39245
|
+
class: 'vxe-tree--node-line-wrapper'
|
|
39246
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39247
|
+
class: 'vxe-tree--node-line',
|
|
39248
|
+
style: {
|
|
39249
|
+
height: `${getNodeId(afterTreeList[0]) === nodeid ? 1 : calcTreeLine($xeTree, node, prevNode)}px`
|
|
39250
|
+
}
|
|
39251
|
+
})]) : renderEmptyElement($xeTree), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
38568
39252
|
class: 'vxe-tree--node-item-switcher'
|
|
38569
39253
|
}, showIcon && (lazy ? isLazyLoaded ? hasChild : hasLazyChilds : hasChild) ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
38570
39254
|
class: 'vxe-tree--node-item-icon',
|
|
38571
39255
|
onClick(evnt) {
|
|
38572
39256
|
toggleExpandEvent(evnt, node);
|
|
38573
39257
|
}
|
|
38574
|
-
}, iconSlot ? iconSlot({
|
|
38575
|
-
node,
|
|
38576
|
-
isExpand
|
|
38577
|
-
}) : [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
|
|
39258
|
+
}, iconSlot ? getSlotVNs(iconSlot(nParams)) : [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
|
|
38578
39259
|
class: isLazyLoading ? iconLoaded || getIcon().TREE_NODE_LOADED : isExpand ? iconOpen || getIcon().TREE_NODE_OPEN : iconClose || getIcon().TREE_NODE_CLOSE
|
|
38579
|
-
})])] : [])
|
|
39260
|
+
})])] : []), renderRadio(node, nodeid, isRadioChecked), renderCheckbox(node, nodeid, isCheckboxChecked), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
38580
39261
|
class: 'vxe-tree--node-item-inner'
|
|
38581
39262
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
38582
39263
|
class: 'vxe-tree--node-item-title'
|
|
38583
|
-
}, titleSlot ? getSlotVNs(titleSlot({
|
|
38584
|
-
node,
|
|
38585
|
-
isExpand
|
|
38586
|
-
})) : `${nodeValue}`), extraSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39264
|
+
}, titleSlot ? getSlotVNs(titleSlot(nParams)) : `${nodeValue}`), extraSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
38587
39265
|
class: 'vxe-tree--node-item-extra'
|
|
38588
|
-
}, getSlotVNs(extraSlot(
|
|
38589
|
-
node,
|
|
38590
|
-
isExpand
|
|
38591
|
-
}))) : renderEmptyElement($xeTree)])]), hasChild && treeExpandedMaps[nodeid] ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
38592
|
-
class: 'vxe-tree--node-child-wrapper'
|
|
38593
|
-
}, childVns) : renderEmptyElement($xeTree)]);
|
|
39266
|
+
}, getSlotVNs(extraSlot(nParams))) : renderEmptyElement($xeTree)])])]);
|
|
38594
39267
|
};
|
|
38595
|
-
const
|
|
39268
|
+
const renderList = treeList => {
|
|
38596
39269
|
const {
|
|
38597
|
-
|
|
38598
|
-
} =
|
|
38599
|
-
|
|
38600
|
-
|
|
38601
|
-
}
|
|
39270
|
+
transform
|
|
39271
|
+
} = props;
|
|
39272
|
+
const {
|
|
39273
|
+
treeExpandedMaps
|
|
39274
|
+
} = internalData;
|
|
39275
|
+
const childrenField = computeChildrenField.value;
|
|
39276
|
+
if (!treeList.length) {
|
|
39277
|
+
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39278
|
+
class: 'vxe-tree--empty-placeholder'
|
|
39279
|
+
}, getI18n('vxe.tree.searchEmpty'))];
|
|
39280
|
+
}
|
|
39281
|
+
const nodeVNs = [];
|
|
39282
|
+
treeList.forEach(transform ? node => {
|
|
39283
|
+
const nodeid = getNodeId(node);
|
|
39284
|
+
nodeVNs.push(renderNode(node, nodeid));
|
|
39285
|
+
} : node => {
|
|
39286
|
+
const nodeid = getNodeId(node);
|
|
39287
|
+
nodeVNs.push(renderNode(node, nodeid));
|
|
39288
|
+
const childList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, childrenField);
|
|
39289
|
+
const hasChild = childList && childList.length;
|
|
39290
|
+
if (hasChild && treeExpandedMaps[nodeid]) {
|
|
39291
|
+
nodeVNs.push(...renderList(childList));
|
|
39292
|
+
}
|
|
39293
|
+
});
|
|
39294
|
+
return nodeVNs;
|
|
38602
39295
|
};
|
|
38603
39296
|
const renderVN = () => {
|
|
38604
39297
|
const {
|
|
@@ -38606,13 +39299,20 @@ function getNodeUniqueId() {
|
|
|
38606
39299
|
trigger,
|
|
38607
39300
|
showLine
|
|
38608
39301
|
} = props;
|
|
39302
|
+
const {
|
|
39303
|
+
bodyHeight,
|
|
39304
|
+
topSpaceHeight,
|
|
39305
|
+
treeList
|
|
39306
|
+
} = reactData;
|
|
38609
39307
|
const vSize = computeSize.value;
|
|
38610
39308
|
const radioOpts = computeRadioOpts.value;
|
|
38611
39309
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
38612
|
-
const treeStyle = computeTreeStyle.value;
|
|
38613
39310
|
const loadingOpts = computeLoadingOpts.value;
|
|
38614
39311
|
const isRowHover = computeIsRowHover.value;
|
|
39312
|
+
const treeStyle = computeTreeStyle.value;
|
|
38615
39313
|
const loadingSlot = slots.loading;
|
|
39314
|
+
const headerSlot = slots.header;
|
|
39315
|
+
const footerSlot = slots.footer;
|
|
38616
39316
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
38617
39317
|
ref: refElem,
|
|
38618
39318
|
class: ['vxe-tree', {
|
|
@@ -38623,9 +39323,34 @@ function getNodeUniqueId() {
|
|
|
38623
39323
|
'node--hover': isRowHover,
|
|
38624
39324
|
'node--trigger': trigger === 'node',
|
|
38625
39325
|
'is--loading': loading
|
|
38626
|
-
}]
|
|
38627
|
-
|
|
38628
|
-
|
|
39326
|
+
}]
|
|
39327
|
+
}, [headerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39328
|
+
ref: refHeaderWrapperElem,
|
|
39329
|
+
class: 'vxe-tree--header-wrapper'
|
|
39330
|
+
}, headerSlot({
|
|
39331
|
+
$tree: $xeTree
|
|
39332
|
+
})) : renderEmptyElement($xeTree), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39333
|
+
ref: refVirtualWrapper,
|
|
39334
|
+
class: 'vxe-tree--node-list-wrapper',
|
|
39335
|
+
style: treeStyle,
|
|
39336
|
+
onScroll: scrollEvent
|
|
39337
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39338
|
+
class: 'vxe-tree--y-space',
|
|
39339
|
+
style: {
|
|
39340
|
+
height: bodyHeight ? `${bodyHeight}px` : ''
|
|
39341
|
+
}
|
|
39342
|
+
}), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39343
|
+
ref: refVirtualBody,
|
|
39344
|
+
class: 'vxe-tree--node-list-body',
|
|
39345
|
+
style: {
|
|
39346
|
+
transform: `translateY(${topSpaceHeight}px)`
|
|
39347
|
+
}
|
|
39348
|
+
}, renderList(treeList))]), footerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39349
|
+
ref: refFooterWrapperElem,
|
|
39350
|
+
class: 'vxe-tree--footer-wrapper'
|
|
39351
|
+
}, footerSlot({
|
|
39352
|
+
$tree: $xeTree
|
|
39353
|
+
})) : renderEmptyElement($xeTree),
|
|
38629
39354
|
/**
|
|
38630
39355
|
* 加载中
|
|
38631
39356
|
*/
|
|
@@ -38648,7 +39373,7 @@ function getNodeUniqueId() {
|
|
|
38648
39373
|
dataFlag.value++;
|
|
38649
39374
|
});
|
|
38650
39375
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataFlag, () => {
|
|
38651
|
-
|
|
39376
|
+
loadData(props.data || []);
|
|
38652
39377
|
});
|
|
38653
39378
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.checkNodeKey, val => {
|
|
38654
39379
|
reactData.selectRadioKey = val;
|
|
@@ -38663,13 +39388,54 @@ function getNodeUniqueId() {
|
|
|
38663
39388
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(checkboxFlag, () => {
|
|
38664
39389
|
updateCheckboxChecked(props.checkNodeKeys || []);
|
|
38665
39390
|
});
|
|
39391
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.filterValue, () => {
|
|
39392
|
+
triggerSearchEvent(new Event('filter'));
|
|
39393
|
+
});
|
|
39394
|
+
const hFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
|
|
39395
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.height, () => {
|
|
39396
|
+
hFlag.value++;
|
|
39397
|
+
});
|
|
39398
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.minHeight, () => {
|
|
39399
|
+
hFlag.value++;
|
|
39400
|
+
});
|
|
39401
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.maxHeight, () => {
|
|
39402
|
+
hFlag.value++;
|
|
39403
|
+
});
|
|
39404
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(hFlag, () => {
|
|
39405
|
+
recalculate();
|
|
39406
|
+
});
|
|
39407
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
|
|
39408
|
+
if (props.autoResize) {
|
|
39409
|
+
const el = refElem.value;
|
|
39410
|
+
const parentEl = getParentElem();
|
|
39411
|
+
const resizeObserver = globalResize.create(() => {
|
|
39412
|
+
if (props.autoResize) {
|
|
39413
|
+
recalculate();
|
|
39414
|
+
}
|
|
39415
|
+
});
|
|
39416
|
+
if (el) {
|
|
39417
|
+
resizeObserver.observe(el);
|
|
39418
|
+
}
|
|
39419
|
+
if (parentEl) {
|
|
39420
|
+
resizeObserver.observe(parentEl);
|
|
39421
|
+
}
|
|
39422
|
+
internalData.resizeObserver = resizeObserver;
|
|
39423
|
+
}
|
|
39424
|
+
globalEvents.on($xeTree, 'resize', handleGlobalResizeEvent);
|
|
39425
|
+
});
|
|
38666
39426
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onUnmounted)(() => {
|
|
38667
|
-
|
|
39427
|
+
const {
|
|
39428
|
+
resizeObserver
|
|
39429
|
+
} = internalData;
|
|
39430
|
+
if (resizeObserver) {
|
|
39431
|
+
resizeObserver.disconnect();
|
|
39432
|
+
}
|
|
38668
39433
|
internalData.treeExpandedMaps = {};
|
|
38669
39434
|
internalData.indeterminateRowMaps = {};
|
|
38670
39435
|
internalData.nodeMaps = {};
|
|
39436
|
+
globalEvents.off($xeTree, 'resize');
|
|
38671
39437
|
});
|
|
38672
|
-
|
|
39438
|
+
loadData(props.data || []);
|
|
38673
39439
|
$xeTree.renderVN = renderVN;
|
|
38674
39440
|
return $xeTree;
|
|
38675
39441
|
},
|
|
@@ -38700,6 +39466,7 @@ const Tree = VxeTree;
|
|
|
38700
39466
|
|
|
38701
39467
|
|
|
38702
39468
|
|
|
39469
|
+
|
|
38703
39470
|
function tree_select_getOptUniqueId() {
|
|
38704
39471
|
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId('node_');
|
|
38705
39472
|
}
|
|
@@ -38721,6 +39488,8 @@ function tree_select_getOptUniqueId() {
|
|
|
38721
39488
|
type: Boolean,
|
|
38722
39489
|
default: null
|
|
38723
39490
|
},
|
|
39491
|
+
filterable: Boolean,
|
|
39492
|
+
filterConfig: Object,
|
|
38724
39493
|
multiple: Boolean,
|
|
38725
39494
|
className: [String, Function],
|
|
38726
39495
|
popupClassName: [String, Function],
|
|
@@ -38730,18 +39499,44 @@ function tree_select_getOptUniqueId() {
|
|
|
38730
39499
|
optionProps: Object,
|
|
38731
39500
|
size: {
|
|
38732
39501
|
type: String,
|
|
38733
|
-
default: () => getConfig().
|
|
39502
|
+
default: () => getConfig().treeSelect.size || getConfig().size
|
|
38734
39503
|
},
|
|
38735
39504
|
remote: Boolean,
|
|
38736
|
-
|
|
39505
|
+
remoteConfig: Function,
|
|
38737
39506
|
popupConfig: Object,
|
|
38738
39507
|
treeConfig: Object,
|
|
39508
|
+
virtualYConfig: Object,
|
|
39509
|
+
autoClose: {
|
|
39510
|
+
type: Boolean,
|
|
39511
|
+
default: () => getConfig().treeSelect.autoClose
|
|
39512
|
+
},
|
|
39513
|
+
showTotalButoon: {
|
|
39514
|
+
type: Boolean,
|
|
39515
|
+
default: () => getConfig().treeSelect.showTotalButoon
|
|
39516
|
+
},
|
|
39517
|
+
showCheckedButoon: {
|
|
39518
|
+
type: Boolean,
|
|
39519
|
+
default: () => getConfig().treeSelect.showCheckedButoon
|
|
39520
|
+
},
|
|
39521
|
+
showClearButton: {
|
|
39522
|
+
type: Boolean,
|
|
39523
|
+
default: () => getConfig().treeSelect.showClearButton
|
|
39524
|
+
},
|
|
39525
|
+
showExpandButton: {
|
|
39526
|
+
type: Boolean,
|
|
39527
|
+
default: () => getConfig().treeSelect.showExpandButton
|
|
39528
|
+
},
|
|
38739
39529
|
transfer: {
|
|
38740
39530
|
type: Boolean,
|
|
38741
39531
|
default: null
|
|
38742
|
-
}
|
|
39532
|
+
},
|
|
39533
|
+
/**
|
|
39534
|
+
* 已废弃,被 remote-config.queryMethod 替换
|
|
39535
|
+
* @deprecated
|
|
39536
|
+
*/
|
|
39537
|
+
remoteMethod: Function
|
|
38743
39538
|
},
|
|
38744
|
-
emits: ['update:modelValue', 'change', 'clear', 'blur', 'focus', 'click', 'node-click'],
|
|
39539
|
+
emits: ['update:modelValue', 'change', 'all-change', 'clear', 'blur', 'focus', 'click', 'node-click'],
|
|
38745
39540
|
setup(props, context) {
|
|
38746
39541
|
const {
|
|
38747
39542
|
emit,
|
|
@@ -38758,12 +39553,14 @@ function tree_select_getOptUniqueId() {
|
|
|
38758
39553
|
} = useSize(props);
|
|
38759
39554
|
const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
38760
39555
|
const refInput = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
39556
|
+
const refInpSearch = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
38761
39557
|
const refTreeWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
38762
39558
|
const refOptionPanel = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
39559
|
+
const refTree = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
38763
39560
|
const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)({
|
|
38764
39561
|
initialized: false,
|
|
38765
|
-
|
|
38766
|
-
|
|
39562
|
+
searchValue: '',
|
|
39563
|
+
searchLoading: false,
|
|
38767
39564
|
panelIndex: 0,
|
|
38768
39565
|
panelStyle: {},
|
|
38769
39566
|
panelPlacement: null,
|
|
@@ -38773,7 +39570,9 @@ function tree_select_getOptUniqueId() {
|
|
|
38773
39570
|
isActivated: false
|
|
38774
39571
|
});
|
|
38775
39572
|
const internalData = {
|
|
38776
|
-
hpTimeout: undefined
|
|
39573
|
+
// hpTimeout: undefined,
|
|
39574
|
+
fullOptionList: [],
|
|
39575
|
+
fullNodeMaps: {}
|
|
38777
39576
|
};
|
|
38778
39577
|
const refMaps = {
|
|
38779
39578
|
refElem
|
|
@@ -38874,15 +39673,26 @@ function tree_select_getOptUniqueId() {
|
|
|
38874
39673
|
const propsOpts = computePropsOpts.value;
|
|
38875
39674
|
return propsOpts.hasChild || 'hasChild';
|
|
38876
39675
|
});
|
|
39676
|
+
const computeVirtualYOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
39677
|
+
return Object.assign({}, getConfig().treeSelect.virtualYConfig, props.virtualYConfig);
|
|
39678
|
+
});
|
|
39679
|
+
const computeRemoteOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
39680
|
+
return Object.assign({}, getConfig().treeSelect.remoteConfig, props.remoteConfig);
|
|
39681
|
+
});
|
|
39682
|
+
const computeFilterOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
39683
|
+
const treeOpts = computeTreeOpts.value;
|
|
39684
|
+
return Object.assign({}, treeOpts.filterConfig, props.filterConfig);
|
|
39685
|
+
});
|
|
38877
39686
|
const computeSelectLabel = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
38878
39687
|
const {
|
|
38879
39688
|
modelValue
|
|
38880
39689
|
} = props;
|
|
38881
39690
|
const {
|
|
38882
39691
|
fullNodeMaps
|
|
38883
|
-
} =
|
|
39692
|
+
} = internalData;
|
|
38884
39693
|
const labelField = computeLabelField.value;
|
|
38885
|
-
|
|
39694
|
+
const selectVals = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(modelValue) ? [] : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(modelValue) ? modelValue : [modelValue];
|
|
39695
|
+
return selectVals.map(val => {
|
|
38886
39696
|
const cacheItem = fullNodeMaps[val];
|
|
38887
39697
|
return cacheItem ? cacheItem.item[labelField] : val;
|
|
38888
39698
|
}).join(', ');
|
|
@@ -38933,12 +39743,16 @@ function tree_select_getOptUniqueId() {
|
|
|
38933
39743
|
const {
|
|
38934
39744
|
options
|
|
38935
39745
|
} = props;
|
|
39746
|
+
const treeOpts = computeTreeOpts.value;
|
|
38936
39747
|
const nodeKeyField = computeNodeKeyField.value;
|
|
38937
39748
|
const childrenField = computeChildrenField.value;
|
|
38938
39749
|
const valueField = computeValueField.value;
|
|
39750
|
+
const {
|
|
39751
|
+
transform
|
|
39752
|
+
} = treeOpts;
|
|
38939
39753
|
const nodeMaps = {};
|
|
38940
39754
|
const keyMaps = {};
|
|
38941
|
-
|
|
39755
|
+
const handleOptNode = (item, index, items, path, parent, nodes) => {
|
|
38942
39756
|
let nodeid = getNodeid(item);
|
|
38943
39757
|
if (!nodeid) {
|
|
38944
39758
|
nodeid = tree_select_getOptUniqueId();
|
|
@@ -38958,11 +39772,20 @@ function tree_select_getOptUniqueId() {
|
|
|
38958
39772
|
parent,
|
|
38959
39773
|
nodes
|
|
38960
39774
|
};
|
|
38961
|
-
}
|
|
38962
|
-
|
|
38963
|
-
|
|
38964
|
-
|
|
38965
|
-
|
|
39775
|
+
};
|
|
39776
|
+
if (options) {
|
|
39777
|
+
if (transform) {
|
|
39778
|
+
options.forEach((item, index, items) => {
|
|
39779
|
+
handleOptNode(item, index, items, [], null, []);
|
|
39780
|
+
});
|
|
39781
|
+
} else {
|
|
39782
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(options, handleOptNode, {
|
|
39783
|
+
children: childrenField
|
|
39784
|
+
});
|
|
39785
|
+
}
|
|
39786
|
+
}
|
|
39787
|
+
internalData.fullOptionList = options || [];
|
|
39788
|
+
internalData.fullNodeMaps = nodeMaps;
|
|
38966
39789
|
};
|
|
38967
39790
|
const updateZindex = () => {
|
|
38968
39791
|
if (reactData.panelIndex < getLastZIndex()) {
|
|
@@ -38995,9 +39818,15 @@ function tree_select_getOptUniqueId() {
|
|
|
38995
39818
|
};
|
|
38996
39819
|
const showOptionPanel = () => {
|
|
38997
39820
|
const {
|
|
38998
|
-
loading
|
|
39821
|
+
loading,
|
|
39822
|
+
remote,
|
|
39823
|
+
filterable
|
|
38999
39824
|
} = props;
|
|
39825
|
+
const {
|
|
39826
|
+
fullOptionList
|
|
39827
|
+
} = internalData;
|
|
39000
39828
|
const isDisabled = computeIsDisabled.value;
|
|
39829
|
+
const remoteOpts = computeRemoteOpts.value;
|
|
39001
39830
|
if (!loading && !isDisabled) {
|
|
39002
39831
|
clearTimeout(internalData.hpTimeout);
|
|
39003
39832
|
if (!reactData.initialized) {
|
|
@@ -39005,8 +39834,14 @@ function tree_select_getOptUniqueId() {
|
|
|
39005
39834
|
}
|
|
39006
39835
|
reactData.isActivated = true;
|
|
39007
39836
|
reactData.isAniVisible = true;
|
|
39837
|
+
if (filterable) {
|
|
39838
|
+
if (remote && remoteOpts.enabled && remoteOpts.autoLoad && !fullOptionList.length) {
|
|
39839
|
+
handleSearchEvent();
|
|
39840
|
+
}
|
|
39841
|
+
}
|
|
39008
39842
|
setTimeout(() => {
|
|
39009
39843
|
reactData.visiblePanel = true;
|
|
39844
|
+
handleFocusSearch();
|
|
39010
39845
|
}, 10);
|
|
39011
39846
|
updateZindex();
|
|
39012
39847
|
updatePlacement();
|
|
@@ -39021,7 +39856,7 @@ function tree_select_getOptUniqueId() {
|
|
|
39021
39856
|
const changeEvent = (evnt, selectValue) => {
|
|
39022
39857
|
const {
|
|
39023
39858
|
fullNodeMaps
|
|
39024
|
-
} =
|
|
39859
|
+
} = internalData;
|
|
39025
39860
|
emitModel(selectValue);
|
|
39026
39861
|
if (selectValue !== props.modelValue) {
|
|
39027
39862
|
const cacheItem = fullNodeMaps[selectValue];
|
|
@@ -39045,6 +39880,65 @@ function tree_select_getOptUniqueId() {
|
|
|
39045
39880
|
clearValueEvent(evnt, null);
|
|
39046
39881
|
hideOptionPanel();
|
|
39047
39882
|
};
|
|
39883
|
+
const allCheckedPanelEvent = params => {
|
|
39884
|
+
const {
|
|
39885
|
+
$event
|
|
39886
|
+
} = params;
|
|
39887
|
+
const {
|
|
39888
|
+
multiple,
|
|
39889
|
+
autoClose
|
|
39890
|
+
} = props;
|
|
39891
|
+
const $tree = refTree.value;
|
|
39892
|
+
if (multiple) {
|
|
39893
|
+
if ($tree) {
|
|
39894
|
+
$tree.setAllCheckboxNode(true).then(({
|
|
39895
|
+
checkNodeKeys
|
|
39896
|
+
}) => {
|
|
39897
|
+
changeEvent($event, checkNodeKeys);
|
|
39898
|
+
dispatchEvent('all-change', {
|
|
39899
|
+
value: checkNodeKeys
|
|
39900
|
+
}, $event);
|
|
39901
|
+
if (autoClose) {
|
|
39902
|
+
hideOptionPanel();
|
|
39903
|
+
}
|
|
39904
|
+
});
|
|
39905
|
+
}
|
|
39906
|
+
}
|
|
39907
|
+
};
|
|
39908
|
+
const clearCheckedPanelEvent = params => {
|
|
39909
|
+
const {
|
|
39910
|
+
$event
|
|
39911
|
+
} = params;
|
|
39912
|
+
const {
|
|
39913
|
+
multiple,
|
|
39914
|
+
autoClose
|
|
39915
|
+
} = props;
|
|
39916
|
+
const $tree = refTree.value;
|
|
39917
|
+
if ($tree) {
|
|
39918
|
+
const value = multiple ? [] : null;
|
|
39919
|
+
$tree.clearCheckboxNode().then(() => {
|
|
39920
|
+
if (autoClose) {
|
|
39921
|
+
hideOptionPanel();
|
|
39922
|
+
}
|
|
39923
|
+
});
|
|
39924
|
+
changeEvent($event, value);
|
|
39925
|
+
dispatchEvent('clear', {
|
|
39926
|
+
value
|
|
39927
|
+
}, $event);
|
|
39928
|
+
}
|
|
39929
|
+
};
|
|
39930
|
+
const allExpandPanelEvent = () => {
|
|
39931
|
+
const $tree = refTree.value;
|
|
39932
|
+
if ($tree) {
|
|
39933
|
+
$tree.setAllExpandNode(true);
|
|
39934
|
+
}
|
|
39935
|
+
};
|
|
39936
|
+
const clearExpandPanelEvent = () => {
|
|
39937
|
+
const $tree = refTree.value;
|
|
39938
|
+
if ($tree) {
|
|
39939
|
+
$tree.clearAllExpandNode();
|
|
39940
|
+
}
|
|
39941
|
+
};
|
|
39048
39942
|
const handleGlobalMousewheelEvent = evnt => {
|
|
39049
39943
|
const {
|
|
39050
39944
|
visiblePanel
|
|
@@ -39086,6 +39980,16 @@ function tree_select_getOptUniqueId() {
|
|
|
39086
39980
|
updatePlacement();
|
|
39087
39981
|
}
|
|
39088
39982
|
};
|
|
39983
|
+
const handleFocusSearch = () => {
|
|
39984
|
+
if (props.filterable) {
|
|
39985
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
|
|
39986
|
+
const inpSearch = refInpSearch.value;
|
|
39987
|
+
if (inpSearch) {
|
|
39988
|
+
inpSearch.focus();
|
|
39989
|
+
}
|
|
39990
|
+
});
|
|
39991
|
+
}
|
|
39992
|
+
};
|
|
39089
39993
|
const focusEvent = evnt => {
|
|
39090
39994
|
const isDisabled = computeIsDisabled.value;
|
|
39091
39995
|
if (!isDisabled) {
|
|
@@ -39107,6 +40011,31 @@ function tree_select_getOptUniqueId() {
|
|
|
39107
40011
|
reactData.isActivated = false;
|
|
39108
40012
|
dispatchEvent('blur', {}, evnt);
|
|
39109
40013
|
};
|
|
40014
|
+
const modelSearchEvent = value => {
|
|
40015
|
+
reactData.searchValue = value;
|
|
40016
|
+
};
|
|
40017
|
+
const handleSearchEvent = () => {
|
|
40018
|
+
const {
|
|
40019
|
+
modelValue,
|
|
40020
|
+
remote,
|
|
40021
|
+
remoteMethod
|
|
40022
|
+
} = props;
|
|
40023
|
+
const {
|
|
40024
|
+
searchValue
|
|
40025
|
+
} = reactData;
|
|
40026
|
+
const remoteOpts = computeRemoteOpts.value;
|
|
40027
|
+
const queryMethod = remoteOpts.queryMethod || remoteMethod;
|
|
40028
|
+
if (remote && queryMethod && remoteOpts.enabled) {
|
|
40029
|
+
reactData.searchLoading = true;
|
|
40030
|
+
Promise.resolve(queryMethod({
|
|
40031
|
+
$treeSelect: $xeTreeSelect,
|
|
40032
|
+
searchValue,
|
|
40033
|
+
value: modelValue
|
|
40034
|
+
})).then(() => (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)()).catch(() => (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)()).finally(() => {
|
|
40035
|
+
reactData.searchLoading = false;
|
|
40036
|
+
});
|
|
40037
|
+
}
|
|
40038
|
+
};
|
|
39110
40039
|
const togglePanelEvent = params => {
|
|
39111
40040
|
const {
|
|
39112
40041
|
$event
|
|
@@ -39154,13 +40083,19 @@ function tree_select_getOptUniqueId() {
|
|
|
39154
40083
|
modelValue,
|
|
39155
40084
|
multiple,
|
|
39156
40085
|
options,
|
|
39157
|
-
loading
|
|
40086
|
+
loading,
|
|
40087
|
+
filterable,
|
|
40088
|
+
showTotalButoon,
|
|
40089
|
+
showCheckedButoon,
|
|
40090
|
+
showClearButton,
|
|
40091
|
+
showExpandButton
|
|
39158
40092
|
} = props;
|
|
39159
40093
|
const {
|
|
39160
40094
|
initialized,
|
|
39161
40095
|
isActivated,
|
|
39162
40096
|
isAniVisible,
|
|
39163
|
-
visiblePanel
|
|
40097
|
+
visiblePanel,
|
|
40098
|
+
searchValue
|
|
39164
40099
|
} = reactData;
|
|
39165
40100
|
const vSize = computeSize.value;
|
|
39166
40101
|
const isDisabled = computeIsDisabled.value;
|
|
@@ -39183,6 +40118,8 @@ function tree_select_getOptUniqueId() {
|
|
|
39183
40118
|
const childrenField = computeChildrenField.value;
|
|
39184
40119
|
const parentField = computeParentField.value;
|
|
39185
40120
|
const hasChildField = computeHasChildField.value;
|
|
40121
|
+
const virtualYOpts = computeVirtualYOpts.value;
|
|
40122
|
+
const filterOpts = computeFilterOpts.value;
|
|
39186
40123
|
if (formReadonly) {
|
|
39187
40124
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39188
40125
|
ref: refElem,
|
|
@@ -39191,12 +40128,14 @@ function tree_select_getOptUniqueId() {
|
|
|
39191
40128
|
class: 'vxe-tree-select-label'
|
|
39192
40129
|
}, selectLabel)]);
|
|
39193
40130
|
}
|
|
40131
|
+
const selectVals = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(modelValue) ? [] : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(modelValue) ? modelValue : [modelValue];
|
|
39194
40132
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39195
40133
|
ref: refElem,
|
|
39196
40134
|
class: ['vxe-tree-select', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
|
|
39197
40135
|
$treeSelect: $xeTreeSelect
|
|
39198
40136
|
}) : className : '', {
|
|
39199
40137
|
[`size--${vSize}`]: vSize,
|
|
40138
|
+
'is--filterable': filterable,
|
|
39200
40139
|
'is--visible': visiblePanel,
|
|
39201
40140
|
'is--disabled': isDisabled,
|
|
39202
40141
|
'is--loading': loading,
|
|
@@ -39212,6 +40151,7 @@ function tree_select_getOptUniqueId() {
|
|
|
39212
40151
|
prefixIcon: props.prefixIcon,
|
|
39213
40152
|
suffixIcon: loading ? getIcon().TREE_SELECT_LOADED : visiblePanel ? getIcon().TREE_SELECT_OPEN : getIcon().TREE_SELECT_CLOSE,
|
|
39214
40153
|
modelValue: loading ? '' : selectLabel,
|
|
40154
|
+
title: selectLabel,
|
|
39215
40155
|
onClear: clearEvent,
|
|
39216
40156
|
onClick: clickEvent,
|
|
39217
40157
|
onFocus: focusEvent,
|
|
@@ -39236,16 +40176,55 @@ function tree_select_getOptUniqueId() {
|
|
|
39236
40176
|
style: reactData.panelStyle
|
|
39237
40177
|
}, initialized ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39238
40178
|
class: 'vxe-tree-select--panel-wrapper'
|
|
39239
|
-
}, [
|
|
40179
|
+
}, [filterable ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
40180
|
+
class: 'vxe-tree-select--panel-search'
|
|
40181
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(input, {
|
|
40182
|
+
ref: refInpSearch,
|
|
40183
|
+
class: 'vxe-tree-select-search--input',
|
|
40184
|
+
modelValue: searchValue,
|
|
40185
|
+
clearable: true,
|
|
40186
|
+
disabled: false,
|
|
40187
|
+
readonly: false,
|
|
40188
|
+
placeholder: getI18n('vxe.treeSelect.search'),
|
|
40189
|
+
prefixIcon: getIcon().INPUT_SEARCH,
|
|
40190
|
+
'onUpdate:modelValue': modelSearchEvent
|
|
40191
|
+
})]) : renderEmptyElement($xeTreeSelect), showTotalButoon || showCheckedButoon && multiple || showClearButton || showExpandButton || headerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39240
40192
|
class: 'vxe-tree-select--panel-header'
|
|
39241
|
-
}, headerSlot({})
|
|
40193
|
+
}, headerSlot ? headerSlot({}) : [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
40194
|
+
class: 'vxe-tree-select--header-button'
|
|
40195
|
+
}, [showTotalButoon ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
40196
|
+
class: 'vxe-tree-select--header-total'
|
|
40197
|
+
}, getI18n('vxe.treeSelect.total', [selectVals.length])) : renderEmptyElement($xeTreeSelect), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
40198
|
+
class: 'vxe-tree-select--header-btns'
|
|
40199
|
+
}, [showCheckedButoon && multiple ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(src_button, {
|
|
40200
|
+
content: getI18n('vxe.treeSelect.allChecked'),
|
|
40201
|
+
mode: 'text',
|
|
40202
|
+
onClick: allCheckedPanelEvent
|
|
40203
|
+
}) : renderEmptyElement($xeTreeSelect), showClearButton ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(src_button, {
|
|
40204
|
+
content: getI18n('vxe.treeSelect.clearChecked'),
|
|
40205
|
+
mode: 'text',
|
|
40206
|
+
onClick: clearCheckedPanelEvent
|
|
40207
|
+
}) : renderEmptyElement($xeTreeSelect), showExpandButton ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(src_button, {
|
|
40208
|
+
content: getI18n('vxe.treeSelect.allExpand'),
|
|
40209
|
+
mode: 'text',
|
|
40210
|
+
onClick: allExpandPanelEvent
|
|
40211
|
+
}) : renderEmptyElement($xeTreeSelect), showExpandButton ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(src_button, {
|
|
40212
|
+
content: getI18n('vxe.treeSelect.clearExpand'),
|
|
40213
|
+
mode: 'text',
|
|
40214
|
+
onClick: clearExpandPanelEvent
|
|
40215
|
+
}) : renderEmptyElement($xeTreeSelect)])])]) : renderEmptyElement($xeTreeSelect), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39242
40216
|
class: 'vxe-tree-select--panel-body'
|
|
39243
40217
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
39244
40218
|
ref: refTreeWrapper,
|
|
39245
40219
|
class: 'vxe-tree-select-tree--wrapper',
|
|
39246
40220
|
style: popupWrapperStyle
|
|
39247
40221
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(tree, {
|
|
40222
|
+
ref: refTree,
|
|
39248
40223
|
class: 'vxe-tree-select--tree',
|
|
40224
|
+
height: popupOpts.height ? '100%' : treeOpts.height,
|
|
40225
|
+
minHeight: treeOpts.minHeight,
|
|
40226
|
+
maxHeight: popupOpts.height ? '' : treeOpts.maxHeight,
|
|
40227
|
+
autoResize: true,
|
|
39249
40228
|
data: options,
|
|
39250
40229
|
indent: treeOpts.indent,
|
|
39251
40230
|
showRadio: !multiple,
|
|
@@ -39273,6 +40252,9 @@ function tree_select_getOptUniqueId() {
|
|
|
39273
40252
|
iconOpen: treeOpts.iconOpen,
|
|
39274
40253
|
iconLoaded: treeOpts.iconLoaded,
|
|
39275
40254
|
iconClose: treeOpts.iconClose,
|
|
40255
|
+
filterValue: searchValue,
|
|
40256
|
+
filterConfig: filterOpts,
|
|
40257
|
+
virtualYConfig: virtualYOpts,
|
|
39276
40258
|
onNodeClick: nodeClickEvent,
|
|
39277
40259
|
onRadioChange: radioChangeEvent,
|
|
39278
40260
|
onCheckboxChange: checkboxChangeEvent,
|