bkui-vue 2.1.0-dev-beta.10 → 2.1.0-dev-beta.12

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.
@@ -1,71 +1,99 @@
1
+ import { NODE_ATTRIBUTES } from './constant';
1
2
  import { TreeNode, TreePropTypes } from './props';
3
+ type TreeNodeAttributeMap = {
4
+ [NODE_ATTRIBUTES.DEPTH]: number;
5
+ [NODE_ATTRIBUTES.HAS_CHILD]: boolean;
6
+ [NODE_ATTRIBUTES.INDEX]: number;
7
+ [NODE_ATTRIBUTES.IS_ASYNC]: boolean;
8
+ [NODE_ATTRIBUTES.IS_ASYNC_INIT]: boolean;
9
+ [NODE_ATTRIBUTES.IS_CACHED]: boolean;
10
+ [NODE_ATTRIBUTES.IS_CHECKED]: boolean;
11
+ [NODE_ATTRIBUTES.IS_INDETERMINATE]: boolean;
12
+ [NODE_ATTRIBUTES.IS_LOADING]: boolean;
13
+ [NODE_ATTRIBUTES.IS_MATCH]: boolean;
14
+ [NODE_ATTRIBUTES.IS_NULL]: boolean;
15
+ [NODE_ATTRIBUTES.IS_OPEN]: boolean;
16
+ [NODE_ATTRIBUTES.IS_ROOT]: boolean;
17
+ [NODE_ATTRIBUTES.IS_SELECTED]: boolean;
18
+ [NODE_ATTRIBUTES.ORDER]: number;
19
+ [NODE_ATTRIBUTES.PARENT]: TreeNode;
20
+ [NODE_ATTRIBUTES.PATH]: string;
21
+ [NODE_ATTRIBUTES.TREE_NODE_ATTR]: Record<string, unknown>;
22
+ [NODE_ATTRIBUTES.UUID]: string | number;
23
+ };
2
24
  declare const _default: (flatData: {
3
25
  data: TreeNode[];
4
- schema: WeakMap<TreeNode, unknown>;
26
+ schema: WeakMap<TreeNode, Record<string, unknown>>;
27
+ nodeMap?: Map<number | string, TreeNode>;
28
+ childMap?: WeakMap<TreeNode, TreeNode[]>;
29
+ rootNodes?: TreeNode[];
5
30
  }, props?: TreePropTypes) => {
6
- getSchemaVal: (node: TreeNode) => unknown;
7
- getNodeAttr: (node: TreeNode, attr: string) => any;
8
- getNodeId: (node: TreeNode) => any;
31
+ getSchemaVal: (node: TreeNode) => Record<string, unknown>;
32
+ getNodeAttr: {
33
+ <T extends NODE_ATTRIBUTES>(node: TreeNode | null | undefined, attr: T): TreeNodeAttributeMap[T];
34
+ (node: TreeNode | null | undefined, attr: string): unknown;
35
+ };
36
+ getNodeId: (node: TreeNode | null | undefined) => string | number;
9
37
  getNodeById: (id: string | unknown) => TreeNode;
10
- getNodeParentId: (node: TreeNode) => any;
11
- getParentNodeData: (node: TreeNode | string) => any;
12
- getNodePathById: (id: string) => any;
13
- getNodeAttrById: (id: string, attr: string) => any;
14
- getNodeParentIdById: (id: string) => any;
38
+ getNodeParentId: (node: TreeNode) => string | number;
39
+ getParentNodeData: (node: TreeNode | string) => TreeNode;
40
+ getNodePathById: (id: string) => string;
41
+ getNodeAttrById: (id: string, attr: string) => unknown;
42
+ getNodeParentIdById: (id: string) => string | number;
15
43
  getNodeIndexById: (id: string) => number;
16
44
  getNodeIndexByNode: (node: TreeNode) => number;
17
45
  getRootNodeList: () => TreeNode[];
18
- getParentNodeAttr: (node: TreeNode, attrName: string) => any;
19
- getParentNode: (node: TreeNode) => any;
46
+ getParentNodeAttr: (node: TreeNode, attrName: string) => unknown;
47
+ getParentNode: (node: TreeNode) => TreeNode;
20
48
  setNodeAttr: (node: TreeNode, attr: string, val: unknown, id?: any) => void;
21
49
  setNodeAttrById: (id: unknown, attr: string, val: unknown) => void;
22
- getNodePath: (node: TreeNode) => any;
23
- isRootNode: (node: TreeNode | string) => any;
24
- isNodeOpened: (node: TreeNode) => any;
25
- hasChildNode: (node: TreeNode) => any;
26
- isItemOpen: (item: TreeNode) => any;
27
- isNodeChecked: (node: TreeNode) => any;
28
- isNodeMatched: (node: TreeNode) => any;
29
- isNodeLoading: (node: TreeNode) => any;
30
- checkNodeIsOpen: (node: TreeNode) => any;
50
+ getNodePath: (node: TreeNode) => string;
51
+ isRootNode: (node: TreeNode | string) => boolean;
52
+ isNodeOpened: (node: TreeNode) => boolean;
53
+ hasChildNode: (node: TreeNode) => boolean;
54
+ isItemOpen: (item: TreeNode) => unknown;
55
+ isNodeChecked: (node: TreeNode) => boolean;
56
+ isNodeMatched: (node: TreeNode) => boolean;
57
+ isNodeLoading: (node: TreeNode) => boolean;
58
+ checkNodeIsOpen: (node: TreeNode) => unknown;
31
59
  getSourceNodeByPath: (path: string, uid?: string) => any[];
32
60
  getSourceNodeByUID: (uid: string) => TreeNode;
33
- isMatchedNode: (node: TreeNode) => any;
61
+ isMatchedNode: (node: TreeNode) => boolean;
34
62
  resolveScopedSlotParam: (item: TreeNode) => {
35
- [x: string]: any;
36
- fullPath: any;
37
- uuid: any;
38
- parent: any;
39
- parentId: any;
63
+ [x: string]: string | number | boolean | TreeNode;
64
+ fullPath: string;
65
+ uuid: string | number;
66
+ parent: TreeNode;
67
+ parentId: string | number;
40
68
  };
41
69
  setTreeNodeLoading: (node: TreeNode, value: boolean) => void;
42
70
  extendNodeAttr: (item: TreeNode) => TreeNode & {
43
71
  __attr__: {
44
- [x: string]: any;
45
- fullPath: any;
46
- uuid: any;
47
- parent: any;
48
- parentId: any;
72
+ [x: string]: string | number | boolean | TreeNode;
73
+ fullPath: string;
74
+ uuid: string | number;
75
+ parent: TreeNode;
76
+ parentId: string | number;
49
77
  };
50
78
  };
51
79
  getChildNodes: (node: TreeNode) => TreeNode[];
52
80
  extendNodeScopedData: (item: TreeNode) => {
53
81
  data: TreeNode;
54
82
  attributes: {
55
- [x: string]: any;
56
- fullPath: any;
57
- uuid: any;
58
- parent: any;
59
- parentId: any;
83
+ [x: string]: string | number | boolean | TreeNode;
84
+ fullPath: string;
85
+ uuid: string | number;
86
+ parent: TreeNode;
87
+ parentId: string | number;
60
88
  };
61
89
  };
62
90
  getIntersectionResponse: (target: HTMLElement | TreeNode) => {
63
- level: any;
91
+ level: number;
64
92
  target: HTMLElement | TreeNode;
65
- index: any;
66
- parent: any;
93
+ index: number;
94
+ parent: TreeNode;
67
95
  node: HTMLElement | TreeNode;
68
- isRoot: any;
96
+ isRoot: boolean;
69
97
  };
70
98
  };
71
99
  export default _default;
@@ -1,5 +1,18 @@
1
- import { TreePropTypes } from './props';
2
- declare const _default: (props: TreePropTypes, ctx: any, root?: any, flatData?: any) => {
3
- isDragging: import("vue").Ref<boolean, boolean>;
1
+ import { Ref, SetupContext } from 'vue';
2
+ import { TreeEmitEventsType } from './constant';
3
+ import { TreeDataChangePayload, TreeNode, TreePropTypes } from './props';
4
+ import { IFlatData } from './util';
5
+ type TreeContext = {
6
+ emit: SetupContext<typeof TreeEmitEventsType>['emit'];
7
+ };
8
+ type TreeRoot = {
9
+ $el: HTMLElement;
10
+ };
11
+ type UseNodeDragOptions = {
12
+ getTreeData?: () => TreeNode[];
13
+ onTreeDataChange?: (payload: TreeDataChangePayload) => void;
14
+ };
15
+ declare const _default: (props: TreePropTypes, ctx: TreeContext, root: Ref<TreeRoot>, flatData: IFlatData, options?: UseNodeDragOptions) => {
16
+ isDragging: Ref<boolean, boolean>;
4
17
  };
5
18
  export default _default;
@@ -6,12 +6,25 @@ declare const _default: (props: TreePropTypes) => {
6
6
  children?: any[];
7
7
  }[];
8
8
  schema: WeakMap<TreeNode, Record<string, unknown>> & Omit<WeakMap<TreeNode, Record<string, unknown>>, keyof WeakMap<any, any>>;
9
+ nodeMap: Map<string, {
10
+ [x: string]: unknown;
11
+ children?: any[];
12
+ }> & Omit<Map<string, TreeNode>, keyof Map<any, any>>;
13
+ childMap: WeakMap<TreeNode, {
14
+ [x: string]: unknown;
15
+ children?: any[];
16
+ }[]> & Omit<WeakMap<TreeNode, TreeNode[]>, keyof WeakMap<any, any>>;
17
+ rootNodes: {
18
+ [x: string]: unknown;
19
+ children?: any[];
20
+ }[];
9
21
  levelLineSchema: {};
10
22
  };
11
- asyncNodeClick: (item: TreeNode) => Promise<boolean> | Promise<void | Record<string, unknown>>;
23
+ asyncNodeClick: (item: TreeNode) => Promise<boolean | (TreeNode | TreeNode[])>;
12
24
  deepAutoOpen: () => void;
13
25
  afterDataUpdate: (callFn: (d: any) => void) => void;
14
26
  registerNextLoop: (key: string, event: any, reset?: boolean) => void;
27
+ rebuildData: (treeData: TreeNode[], cachedSchema?: WeakMap<TreeNode, Record<string, unknown>> & Omit<WeakMap<TreeNode, Record<string, unknown>>, keyof WeakMap<any, any>>) => void;
15
28
  onSelected: (event: (d: any) => void) => void;
16
29
  };
17
30
  export default _default;
@@ -1,7 +1,11 @@
1
- import { TreeNode, TreePropTypes } from './props';
1
+ import { TreeDataChangePayload, TreeNode, TreePropTypes } from './props';
2
+ export type TreeNodeKey = number | string;
2
3
  export type IFlatData = {
3
4
  data: TreeNode[];
4
5
  schema: WeakMap<TreeNode, Record<string, unknown>>;
6
+ nodeMap?: Map<TreeNodeKey, TreeNode>;
7
+ childMap?: WeakMap<TreeNode, TreeNode[]>;
8
+ rootNodes?: TreeNode[];
5
9
  };
6
10
  /**
7
11
  * 获取当前节点显示Label
@@ -48,6 +52,7 @@ export declare const getNodeItemClass: (item: TreeNode, schema: WeakMap<TreeNode
48
52
  export declare const getNodeRowClass: (item: TreeNode, schema: WeakMap<TreeNode, Record<string, unknown>>) => {
49
53
  [x: string]: unknown;
50
54
  'is-checked': unknown;
55
+ 'is-indeterminate': unknown;
51
56
  'is-selected': unknown;
52
57
  'node-folder': unknown;
53
58
  'node-leaf': unknown;
@@ -61,6 +66,29 @@ export declare const getNodeRowClass: (item: TreeNode, schema: WeakMap<TreeNode,
61
66
  * @param nodeValue 节点值
62
67
  */
63
68
  export declare const updateTreeNode: (path: string, treeData: TreeNode[], childKey: string, nodekey: string, nodeValue: Record<string, unknown>[]) => void;
69
+ export declare const cloneTreeData: (treeData?: TreeNode[], childKey?: string) => TreeNode[];
70
+ export declare const isSameNodeId: (left: unknown, right: unknown) => boolean;
71
+ export declare const findNodeById: (treeData: TreeNode[], nodeId: number | string, nodeKey: string, childKey: string) => TreeNode | null;
72
+ export declare const mutateTreeById: (treeData: TreeNode[], nodeId: number | string, nodeKey: string, childKey: string, updater: (node: TreeNode) => void) => TreeNode[];
73
+ export declare const removeTreeNodeById: (treeData: TreeNode[], nodeId: number | string, nodeKey: string, childKey: string) => {
74
+ node: TreeNode | null;
75
+ data: TreeNode[];
76
+ parentNode: TreeNode | null;
77
+ index: number;
78
+ };
79
+ export declare const insertTreeNodeById: (treeData: TreeNode[], node: TreeNode, targetNodeId: number | string, nodeKey: string, childKey: string, options: {
80
+ dropType: 'child' | 'move' | 'sort';
81
+ willInsertAfter?: boolean;
82
+ }) => {
83
+ data: TreeNode[];
84
+ parentNode: TreeNode | null;
85
+ targetNode: TreeNode | null;
86
+ index: number;
87
+ };
88
+ export declare const moveTreeNodeById: (treeData: TreeNode[], nodeId: number | string, targetNodeId: number | string, nodeKey: string, childKey: string, options: {
89
+ dropType: 'child' | 'move' | 'sort';
90
+ willInsertAfter?: boolean;
91
+ }) => TreeDataChangePayload | null;
64
92
  /**
65
93
  * 根据路径更新指定节点Child-Data
66
94
  * @param path 节点路径
@@ -72,3 +100,4 @@ export declare const assignTreeNode: (path: string, treeData: TreeNode[], childK
72
100
  export declare const resolveNodeItem: (node: TreeNode) => TreeNode;
73
101
  export declare const resolvePropIsMatched: (node: any, prop: any, id: any) => any;
74
102
  export declare const showCheckbox: (props: TreePropTypes, node?: TreeNode) => any;
103
+ export declare const isCascadeEnabled: (props: TreePropTypes) => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bkui-vue",
3
- "version": "2.1.0-dev-beta.10",
3
+ "version": "2.1.0-dev-beta.12",
4
4
  "workspaces": [
5
5
  "packages/**",
6
6
  "scripts/cli",
@@ -135,7 +135,6 @@
135
135
  "js-calendar": "~1.2.3",
136
136
  "json-formatter-js": "~2.3.4",
137
137
  "lodash": "~4.17.21",
138
- "sortablejs": "~1.15.7",
139
138
  "tinycolor2": "~1.6.0",
140
139
  "vue-types": "~4.1.1"
141
140
  }