bkui-vue 2.1.0-dev-beta.12 → 2.1.0-dev-beta.13
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/dist/index.cjs.js +34 -34
- package/dist/index.esm.js +5615 -5581
- package/dist/index.umd.js +33 -33
- package/lib/index.js +1 -1
- package/lib/tree/index.d.ts +12 -0
- package/lib/tree/index.js +77 -11
- package/lib/tree/props.d.ts +20 -3
- package/lib/tree/tree.d.ts +7 -0
- package/package.json +1 -1
package/lib/index.js
CHANGED
package/lib/tree/index.d.ts
CHANGED
|
@@ -80,6 +80,9 @@ declare const BkTree: {
|
|
|
80
80
|
dragSortMode: import("vue-types").VueTypeDef<string> & {
|
|
81
81
|
default: string;
|
|
82
82
|
};
|
|
83
|
+
dragTargetOpenState: import("vue-types").VueTypeDef<string> & {
|
|
84
|
+
default: string;
|
|
85
|
+
};
|
|
83
86
|
selectable: import("vue-types").VueTypeDef<any> & {
|
|
84
87
|
default: any;
|
|
85
88
|
};
|
|
@@ -191,6 +194,7 @@ declare const BkTree: {
|
|
|
191
194
|
dragThreshold: number;
|
|
192
195
|
dragSort: boolean;
|
|
193
196
|
dragSortMode: string;
|
|
197
|
+
dragTargetOpenState: string;
|
|
194
198
|
selectable: any;
|
|
195
199
|
disabledFolderSelectable: boolean;
|
|
196
200
|
showCheckbox: any;
|
|
@@ -291,6 +295,9 @@ declare const BkTree: {
|
|
|
291
295
|
dragSortMode: import("vue-types").VueTypeDef<string> & {
|
|
292
296
|
default: string;
|
|
293
297
|
};
|
|
298
|
+
dragTargetOpenState: import("vue-types").VueTypeDef<string> & {
|
|
299
|
+
default: string;
|
|
300
|
+
};
|
|
294
301
|
selectable: import("vue-types").VueTypeDef<any> & {
|
|
295
302
|
default: any;
|
|
296
303
|
};
|
|
@@ -387,6 +394,7 @@ declare const BkTree: {
|
|
|
387
394
|
dragThreshold: number;
|
|
388
395
|
dragSort: boolean;
|
|
389
396
|
dragSortMode: string;
|
|
397
|
+
dragTargetOpenState: string;
|
|
390
398
|
selectable: any;
|
|
391
399
|
disabledFolderSelectable: boolean;
|
|
392
400
|
showCheckbox: any;
|
|
@@ -484,6 +492,9 @@ declare const BkTree: {
|
|
|
484
492
|
dragSortMode: import("vue-types").VueTypeDef<string> & {
|
|
485
493
|
default: string;
|
|
486
494
|
};
|
|
495
|
+
dragTargetOpenState: import("vue-types").VueTypeDef<string> & {
|
|
496
|
+
default: string;
|
|
497
|
+
};
|
|
487
498
|
selectable: import("vue-types").VueTypeDef<any> & {
|
|
488
499
|
default: any;
|
|
489
500
|
};
|
|
@@ -595,6 +606,7 @@ declare const BkTree: {
|
|
|
595
606
|
dragThreshold: number;
|
|
596
607
|
dragSort: boolean;
|
|
597
608
|
dragSortMode: string;
|
|
609
|
+
dragTargetOpenState: string;
|
|
598
610
|
selectable: any;
|
|
599
611
|
disabledFolderSelectable: boolean;
|
|
600
612
|
showCheckbox: any;
|
package/lib/tree/index.js
CHANGED
|
@@ -17717,6 +17717,13 @@ var treeProps = {
|
|
|
17717
17717
|
* 默认 any
|
|
17718
17718
|
*/
|
|
17719
17719
|
dragSortMode: shared_namespaceObject.PropTypes.oneOf(['any', 'next']).def('any'),
|
|
17720
|
+
/**
|
|
17721
|
+
* 拖拽添加为子节点后,目标节点的展开状态
|
|
17722
|
+
* - expand: 展开目标节点
|
|
17723
|
+
* - collapse: 收起目标节点
|
|
17724
|
+
* - inherit: 保持目标节点当前展开收起状态
|
|
17725
|
+
*/
|
|
17726
|
+
dragTargetOpenState: shared_namespaceObject.PropTypes.oneOf(['expand', 'collapse', 'inherit']).def('inherit'),
|
|
17720
17727
|
/**
|
|
17721
17728
|
* 节点是否可以选中
|
|
17722
17729
|
*/
|
|
@@ -19563,9 +19570,24 @@ var use_node_action_this = undefined;
|
|
|
19563
19570
|
}
|
|
19564
19571
|
return 'after';
|
|
19565
19572
|
};
|
|
19566
|
-
var getDropInfo = function getDropInfo(dropPosition) {
|
|
19573
|
+
var getDropInfo = function getDropInfo(draggedId, relatedId, dropPosition) {
|
|
19574
|
+
var draggedData = getSourceNodeByUID(draggedId);
|
|
19575
|
+
var relatedData = getSourceNodeByUID(relatedId);
|
|
19576
|
+
var isSameParent = !!draggedData && !!relatedData && getParentNode(draggedData) === getParentNode(relatedData);
|
|
19577
|
+
if (props.dragSort && isSameParent && dropPosition !== 'inside') {
|
|
19578
|
+
return {
|
|
19579
|
+
dropType: 'sort',
|
|
19580
|
+
willInsertAfter: dropPosition === 'after'
|
|
19581
|
+
};
|
|
19582
|
+
}
|
|
19583
|
+
if (dropPosition === 'inside') {
|
|
19584
|
+
return {
|
|
19585
|
+
dropType: 'child',
|
|
19586
|
+
willInsertAfter: false
|
|
19587
|
+
};
|
|
19588
|
+
}
|
|
19567
19589
|
return {
|
|
19568
|
-
dropType:
|
|
19590
|
+
dropType: 'move',
|
|
19569
19591
|
willInsertAfter: dropPosition === 'after'
|
|
19570
19592
|
};
|
|
19571
19593
|
};
|
|
@@ -19646,7 +19668,11 @@ var use_node_action_this = undefined;
|
|
|
19646
19668
|
if (!draggedData || !relatedData || draggedId === relatedId || isDescendantTarget(draggedData, relatedData)) {
|
|
19647
19669
|
return false;
|
|
19648
19670
|
}
|
|
19649
|
-
|
|
19671
|
+
var isSameParent = getParentNode(draggedData) === getParentNode(relatedData);
|
|
19672
|
+
if (dropType === 'sort' && (!props.dragSort || !isSameParent)) {
|
|
19673
|
+
return false;
|
|
19674
|
+
}
|
|
19675
|
+
if (props.dragSort && props.dragSortMode === 'next' && (dropType !== 'sort' || !isSameParent)) {
|
|
19650
19676
|
return false;
|
|
19651
19677
|
}
|
|
19652
19678
|
return !isDropDisabled(draggedId, relatedId, dropType);
|
|
@@ -19682,7 +19708,7 @@ var use_node_action_this = undefined;
|
|
|
19682
19708
|
var relatedId = getNodeIdByEl(relatedEl);
|
|
19683
19709
|
if (!relatedEl || !relatedId) return;
|
|
19684
19710
|
var dropPosition = getDropPosition(event, relatedEl);
|
|
19685
|
-
var _getDropInfo = getDropInfo(dropPosition),
|
|
19711
|
+
var _getDropInfo = getDropInfo(dragNodeId, relatedId, dropPosition),
|
|
19686
19712
|
dropType = _getDropInfo.dropType,
|
|
19687
19713
|
willInsertAfter = _getDropInfo.willInsertAfter;
|
|
19688
19714
|
var droppable = canDrop(dragNodeId, relatedId, dropType);
|
|
@@ -19715,7 +19741,7 @@ var use_node_action_this = undefined;
|
|
|
19715
19741
|
event.stopPropagation();
|
|
19716
19742
|
event.preventDefault();
|
|
19717
19743
|
var dropPosition = targetEl ? getDropPosition(event, targetEl) : 'inside';
|
|
19718
|
-
var _getDropInfo2 = getDropInfo(dropPosition),
|
|
19744
|
+
var _getDropInfo2 = getDropInfo(dragNodeId, targetId, dropPosition),
|
|
19719
19745
|
dropType = _getDropInfo2.dropType,
|
|
19720
19746
|
willInsertAfter = _getDropInfo2.willInsertAfter;
|
|
19721
19747
|
var sourceNodeData = getSourceNodeByUID(dragNodeId);
|
|
@@ -20512,7 +20538,7 @@ var use_tree_init_this = undefined;
|
|
|
20512
20538
|
var _useIntersectionObser = use_intersection_observer(props),
|
|
20513
20539
|
getLastVisibleElement = _useIntersectionObser.getLastVisibleElement,
|
|
20514
20540
|
intersectionObserver = _useIntersectionObser.intersectionObserver;
|
|
20515
|
-
var collectOpenNodeIds = function collectOpenNodeIds(
|
|
20541
|
+
var collectOpenNodeIds = function collectOpenNodeIds() {
|
|
20516
20542
|
var openNodeIds = new Set();
|
|
20517
20543
|
flatData.data.forEach(function (node) {
|
|
20518
20544
|
if (isNodeOpened(node)) {
|
|
@@ -20521,17 +20547,57 @@ var use_tree_init_this = undefined;
|
|
|
20521
20547
|
});
|
|
20522
20548
|
return openNodeIds;
|
|
20523
20549
|
};
|
|
20524
|
-
var
|
|
20525
|
-
|
|
20526
|
-
|
|
20550
|
+
var getSourceNodeId = function getSourceNodeId(node) {
|
|
20551
|
+
return "".concat(node === null || node === void 0 ? void 0 : node[props.nodeKey || NODE_ATTRIBUTES.UUID]);
|
|
20552
|
+
};
|
|
20553
|
+
var getSourceChildren = function getSourceChildren(node) {
|
|
20554
|
+
return (node === null || node === void 0 ? void 0 : node[props.children]) || [];
|
|
20555
|
+
};
|
|
20556
|
+
var sourceOpenAttr = NODE_SOURCE_ATTRS[NODE_ATTRIBUTES.IS_OPEN];
|
|
20557
|
+
var _removeOpenState = function removeOpenState(node, openNodeIds) {
|
|
20558
|
+
openNodeIds["delete"](getSourceNodeId(node));
|
|
20559
|
+
getSourceChildren(node).forEach(function (child) {
|
|
20560
|
+
_removeOpenState(child, openNodeIds);
|
|
20527
20561
|
});
|
|
20528
20562
|
};
|
|
20563
|
+
var syncDragTargetOpenState = function syncDragTargetOpenState(openNodeIds, payload) {
|
|
20564
|
+
if (payload.trigger !== 'drag' || payload.dropType !== 'child' || !payload.targetNode) {
|
|
20565
|
+
return;
|
|
20566
|
+
}
|
|
20567
|
+
var targetOpenState = props.dragTargetOpenState || 'inherit';
|
|
20568
|
+
if (targetOpenState === 'inherit') {
|
|
20569
|
+
return;
|
|
20570
|
+
}
|
|
20571
|
+
var targetNodeId = getSourceNodeId(payload.targetNode);
|
|
20572
|
+
if (targetOpenState === 'expand') {
|
|
20573
|
+
openNodeIds.add(targetNodeId);
|
|
20574
|
+
}
|
|
20575
|
+
if (targetOpenState === 'collapse') {
|
|
20576
|
+
_removeOpenState(payload.targetNode, openNodeIds);
|
|
20577
|
+
}
|
|
20578
|
+
};
|
|
20579
|
+
var _syncSourceOpenState = function syncSourceOpenState(treeData, openNodeIds) {
|
|
20580
|
+
var parentOpened = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
20581
|
+
treeData.forEach(function (node) {
|
|
20582
|
+
var isOpen = parentOpened && openNodeIds.has(getSourceNodeId(node));
|
|
20583
|
+
if (isOpen || !parentOpened || Object.prototype.hasOwnProperty.call(node, sourceOpenAttr)) {
|
|
20584
|
+
node[sourceOpenAttr] = isOpen;
|
|
20585
|
+
}
|
|
20586
|
+
_syncSourceOpenState(getSourceChildren(node), openNodeIds, isOpen);
|
|
20587
|
+
});
|
|
20588
|
+
};
|
|
20589
|
+
var normalizeDragOpenState = function normalizeDragOpenState(payload) {
|
|
20590
|
+
var openNodeIds = collectOpenNodeIds();
|
|
20591
|
+
syncDragTargetOpenState(openNodeIds, payload);
|
|
20592
|
+
_syncSourceOpenState(payload.data, openNodeIds);
|
|
20593
|
+
};
|
|
20529
20594
|
var onTreeDataChange = function onTreeDataChange(payload) {
|
|
20530
20595
|
var _payload$data, _props$onDataChange;
|
|
20531
|
-
|
|
20596
|
+
if (payload.trigger === 'drag') {
|
|
20597
|
+
normalizeDragOpenState(payload);
|
|
20598
|
+
}
|
|
20532
20599
|
treeDataRef.value = (_payload$data = payload.data) !== null && _payload$data !== void 0 ? _payload$data : [];
|
|
20533
20600
|
rebuildData(treeDataRef.value);
|
|
20534
|
-
restoreOpenNodes(openNodeIds);
|
|
20535
20601
|
ctx.emit(EVENTS.NODE_DATA_CHANGE, payload);
|
|
20536
20602
|
(_props$onDataChange = props.onDataChange) === null || _props$onDataChange === void 0 || _props$onDataChange.call(props, payload);
|
|
20537
20603
|
};
|
package/lib/tree/props.d.ts
CHANGED
|
@@ -13,11 +13,19 @@ export type TreeNode = {
|
|
|
13
13
|
};
|
|
14
14
|
/**
|
|
15
15
|
* 拖拽放置类型
|
|
16
|
-
* -
|
|
17
|
-
* -
|
|
18
|
-
* -
|
|
16
|
+
* - 同父级节点,落在目标节点前/后:dropType = 'sort'
|
|
17
|
+
* - 同父级节点,落在目标节点中间作为直接子节点:dropType = 'child'
|
|
18
|
+
* - 非同父级等其他情况:dropType = 'move'
|
|
19
|
+
* 非同父级等其他情况:dropType = 'move'
|
|
19
20
|
*/
|
|
20
21
|
export type DropType = 'child' | 'move' | 'sort';
|
|
22
|
+
/**
|
|
23
|
+
* 拖拽添加为子节点后,目标节点的展开状态
|
|
24
|
+
* - expand: 展开目标节点
|
|
25
|
+
* - collapse: 收起目标节点
|
|
26
|
+
* - inherit: 保持目标节点当前展开收起状态
|
|
27
|
+
*/
|
|
28
|
+
export type DragTargetOpenState = 'collapse' | 'expand' | 'inherit';
|
|
21
29
|
export type DisableDropHandler = (data: TreeNode, type: DropType, target: TreeNode) => boolean;
|
|
22
30
|
export type TreeDataChangeTrigger = 'async' | 'drag';
|
|
23
31
|
export type TreeDataChangePayload = {
|
|
@@ -217,6 +225,15 @@ export declare const treeProps: {
|
|
|
217
225
|
dragSortMode: import("vue-types").VueTypeDef<string> & {
|
|
218
226
|
default: string;
|
|
219
227
|
};
|
|
228
|
+
/**
|
|
229
|
+
* 拖拽添加为子节点后,目标节点的展开状态
|
|
230
|
+
* - expand: 展开目标节点
|
|
231
|
+
* - collapse: 收起目标节点
|
|
232
|
+
* - inherit: 保持目标节点当前展开收起状态
|
|
233
|
+
*/
|
|
234
|
+
dragTargetOpenState: import("vue-types").VueTypeDef<string> & {
|
|
235
|
+
default: string;
|
|
236
|
+
};
|
|
220
237
|
/**
|
|
221
238
|
* 节点是否可以选中
|
|
222
239
|
*/
|
package/lib/tree/tree.d.ts
CHANGED
|
@@ -85,6 +85,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
85
85
|
dragSortMode: import("vue-types").VueTypeDef<string> & {
|
|
86
86
|
default: string;
|
|
87
87
|
};
|
|
88
|
+
dragTargetOpenState: import("vue-types").VueTypeDef<string> & {
|
|
89
|
+
default: string;
|
|
90
|
+
};
|
|
88
91
|
selectable: import("vue-types").VueTypeDef<any> & {
|
|
89
92
|
default: any;
|
|
90
93
|
};
|
|
@@ -242,6 +245,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
242
245
|
dragSortMode: import("vue-types").VueTypeDef<string> & {
|
|
243
246
|
default: string;
|
|
244
247
|
};
|
|
248
|
+
dragTargetOpenState: import("vue-types").VueTypeDef<string> & {
|
|
249
|
+
default: string;
|
|
250
|
+
};
|
|
245
251
|
selectable: import("vue-types").VueTypeDef<any> & {
|
|
246
252
|
default: any;
|
|
247
253
|
};
|
|
@@ -338,6 +344,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
338
344
|
dragThreshold: number;
|
|
339
345
|
dragSort: boolean;
|
|
340
346
|
dragSortMode: string;
|
|
347
|
+
dragTargetOpenState: string;
|
|
341
348
|
selectable: any;
|
|
342
349
|
disabledFolderSelectable: boolean;
|
|
343
350
|
showCheckbox: any;
|