hy-virtual-tree 2.2.0 → 2.3.1
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/CHANGELOG.md +12 -0
- package/dist/index.js +35 -14
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hy-virtual-tree v2.
|
|
1
|
+
/* hy-virtual-tree v2.3.1 */
|
|
2
2
|
import './svg_bundle.js';
|
|
3
3
|
const isString = (e) => typeof e === 'string';
|
|
4
4
|
const isNumber = (e) => typeof e === 'number';
|
|
@@ -9079,14 +9079,33 @@ const useIcon = (config, data, node) => {
|
|
|
9079
9079
|
return new Icon({ svgName: 'hy-tree-personnel', width: 16, height: 16 });
|
|
9080
9080
|
}
|
|
9081
9081
|
};
|
|
9082
|
+
// 获取节点文本处理
|
|
9083
|
+
const getLabelHandler = (data, node, config) => {
|
|
9084
|
+
if (config.renderLabel && isFunction(config.renderLabel)) {
|
|
9085
|
+
const value = config.renderLabel(data, node);
|
|
9086
|
+
if (isBoolean(value) && value) {
|
|
9087
|
+
return node.label || '';
|
|
9088
|
+
}
|
|
9089
|
+
else {
|
|
9090
|
+
return value || '';
|
|
9091
|
+
}
|
|
9092
|
+
}
|
|
9093
|
+
return node.label || '';
|
|
9094
|
+
};
|
|
9082
9095
|
// 生成内容节点
|
|
9083
|
-
const useContent = (data, node) => {
|
|
9096
|
+
const useContent = (data, node, config) => {
|
|
9084
9097
|
return createVNode('div', (vnode) => {
|
|
9085
|
-
|
|
9086
|
-
if (
|
|
9098
|
+
const label = getLabelHandler(data, node, config);
|
|
9099
|
+
if (isElement(label)) {
|
|
9100
|
+
vnode.el.appendChild(label);
|
|
9101
|
+
}
|
|
9102
|
+
else {
|
|
9103
|
+
vnode.el.innerHTML = label;
|
|
9104
|
+
}
|
|
9105
|
+
if (label) {
|
|
9087
9106
|
const tooltip = new Tooltip({
|
|
9088
9107
|
bind: vnode.el,
|
|
9089
|
-
content:
|
|
9108
|
+
content: vnode.el.textContent,
|
|
9090
9109
|
placement: 'top',
|
|
9091
9110
|
trigger: 'hover-overflow'
|
|
9092
9111
|
});
|
|
@@ -9108,11 +9127,11 @@ const generateTotalStats = (data, node) => {
|
|
|
9108
9127
|
};
|
|
9109
9128
|
// 自定义渲染元素
|
|
9110
9129
|
const customRender = (options) => {
|
|
9111
|
-
const { fn, node, parent, className, defaultFn } = options || {};
|
|
9130
|
+
const { fn, node, parent, className, config, defaultFn } = options || {};
|
|
9112
9131
|
let value;
|
|
9113
9132
|
// 没有传入的自定义函数则使用默认函数
|
|
9114
9133
|
if (!fn || !isFunction(fn)) {
|
|
9115
|
-
value = defaultFn && isFunction(defaultFn) ? defaultFn(node.data, node) : undefined;
|
|
9134
|
+
value = defaultFn && isFunction(defaultFn) ? defaultFn(node.data, node, config) : undefined;
|
|
9116
9135
|
}
|
|
9117
9136
|
// 自定义函数处理
|
|
9118
9137
|
else {
|
|
@@ -9131,7 +9150,7 @@ const customRender = (options) => {
|
|
|
9131
9150
|
return value;
|
|
9132
9151
|
}
|
|
9133
9152
|
if (isBoolean(value) && value) {
|
|
9134
|
-
value = defaultFn && isFunction(defaultFn) ? defaultFn(node.data, node) : undefined;
|
|
9153
|
+
value = defaultFn && isFunction(defaultFn) ? defaultFn(node.data, node, config) : undefined;
|
|
9135
9154
|
if (value) {
|
|
9136
9155
|
className && value.el.classList.add(className);
|
|
9137
9156
|
parent && value.mount(parent);
|
|
@@ -9854,13 +9873,14 @@ class VirtualTree {
|
|
|
9854
9873
|
fn: config.renderStatus,
|
|
9855
9874
|
node: item,
|
|
9856
9875
|
className: 'hy-tree-node__status',
|
|
9876
|
+
config,
|
|
9857
9877
|
defaultFn: (data, node) => {
|
|
9858
9878
|
return useStatus(config, data);
|
|
9859
9879
|
}
|
|
9860
9880
|
});
|
|
9861
9881
|
}
|
|
9862
9882
|
// 右侧内容
|
|
9863
|
-
rightSlot = customRender({ fn: config.renderRight, node: item, className: 'hy-tree-node__right-content' });
|
|
9883
|
+
rightSlot = customRender({ fn: config.renderRight, node: item, className: 'hy-tree-node__right-content', config });
|
|
9864
9884
|
if (!statusSlot && !rightSlot)
|
|
9865
9885
|
return;
|
|
9866
9886
|
return createVNode('div', (vnode) => {
|
|
@@ -9976,17 +9996,18 @@ class VirtualTree {
|
|
|
9976
9996
|
node: item,
|
|
9977
9997
|
parent: contentContainer,
|
|
9978
9998
|
className: 'hy-tree-node__node-content',
|
|
9979
|
-
|
|
9999
|
+
config,
|
|
10000
|
+
defaultFn: (data, node, config) => {
|
|
9980
10001
|
// 图标
|
|
9981
|
-
customRender({ fn: config.renderIcon, node, parent: contentContainer, className: 'hy-tree-icon', defaultFn: generateIcon });
|
|
10002
|
+
customRender({ fn: config.renderIcon, node, parent: contentContainer, className: 'hy-tree-icon', config, defaultFn: generateIcon });
|
|
9982
10003
|
// 内容
|
|
9983
|
-
customRender({ fn: config.renderContent, node, parent: contentContainer, className: 'hy-tree-node__content', defaultFn: useContent });
|
|
10004
|
+
customRender({ fn: config.renderContent, node, parent: contentContainer, className: 'hy-tree-node__content', config, defaultFn: useContent });
|
|
9984
10005
|
// 统计
|
|
9985
10006
|
if (isShowCount(this._props.showCount, item)) {
|
|
9986
|
-
customRender({ fn: config.renderStats, node, parent: contentContainer, className: 'hy-tree-node__statistics', defaultFn: this._props.statsModel === 'total' ? generateTotalStats : generateStats });
|
|
10007
|
+
customRender({ fn: config.renderStats, node, parent: contentContainer, className: 'hy-tree-node__statistics', config, defaultFn: this._props.statsModel === 'total' ? generateTotalStats : generateStats });
|
|
9987
10008
|
}
|
|
9988
10009
|
// 右侧内容
|
|
9989
|
-
customRender({ fn: generateRight, node, parent: contentContainer });
|
|
10010
|
+
customRender({ fn: generateRight, node, parent: contentContainer, config });
|
|
9990
10011
|
}
|
|
9991
10012
|
});
|
|
9992
10013
|
// 挂载内容容器
|