@semi-kit/hooks 1.1.9 → 1.1.11
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/lib/drawer.d.mts +24 -0
- package/lib/drawer.mjs +1 -0
- package/lib/dropdown.d.mts +24 -0
- package/lib/dropdown.mjs +1 -0
- package/lib/filter-column.d.mts +19 -0
- package/lib/filter-column.mjs +1 -0
- package/lib/form.d.mts +46 -0
- package/lib/form.mjs +1 -0
- package/lib/forward-inst.d.mts +22 -10
- package/lib/index.d.mts +11 -3
- package/lib/index.mjs +1 -1
- package/lib/modal.d.mts +24 -0
- package/lib/modal.mjs +1 -0
- package/lib/popover.d.mts +24 -0
- package/lib/popover.mjs +1 -0
- package/lib/selection.d.mts +37 -0
- package/lib/selection.mjs +1 -0
- package/lib/sortable.d.mts +24 -5
- package/lib/sortable.mjs +1 -1
- package/lib/tree.d.mts +79 -0
- package/lib/tree.mjs +1 -0
- package/package.json +21 -3
package/lib/drawer.d.mts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Ref } from "vue";
|
|
2
|
+
interface UseDrawerReturn {
|
|
3
|
+
/**
|
|
4
|
+
* 显示状态
|
|
5
|
+
*/
|
|
6
|
+
showDrawer: Ref<boolean>;
|
|
7
|
+
/**
|
|
8
|
+
* 打开 Drawer
|
|
9
|
+
*/
|
|
10
|
+
openDrawer: () => void;
|
|
11
|
+
/**
|
|
12
|
+
* 关闭 Drawer
|
|
13
|
+
*/
|
|
14
|
+
closeDrawer: () => void;
|
|
15
|
+
/**
|
|
16
|
+
* 切换 Drawer 状态
|
|
17
|
+
*/
|
|
18
|
+
toggleDrawer: () => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Drawer Hook
|
|
22
|
+
*/
|
|
23
|
+
declare const useDrawer: () => UseDrawerReturn;
|
|
24
|
+
export { UseDrawerReturn, useDrawer };
|
package/lib/drawer.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ref}from"vue";const useDrawer=()=>{let t=ref(!1);return{showDrawer:t,closeDrawer:()=>{t.value=!1},openDrawer:()=>{t.value=!0},toggleDrawer:()=>{t.value=!t.value}}};export{useDrawer};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Ref } from "vue";
|
|
2
|
+
interface UseDropdownReturn {
|
|
3
|
+
/**
|
|
4
|
+
* 显示状态
|
|
5
|
+
*/
|
|
6
|
+
showDropdown: Ref<boolean>;
|
|
7
|
+
/**
|
|
8
|
+
* 打开 Dropdown
|
|
9
|
+
*/
|
|
10
|
+
openDropdown: () => void;
|
|
11
|
+
/**
|
|
12
|
+
* 关闭 Dropdown
|
|
13
|
+
*/
|
|
14
|
+
closeDropdown: () => void;
|
|
15
|
+
/**
|
|
16
|
+
* 切换 Dropdown 状态
|
|
17
|
+
*/
|
|
18
|
+
toggleDropdown: () => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Dropdown Hook
|
|
22
|
+
*/
|
|
23
|
+
declare const useDropdown: () => UseDropdownReturn;
|
|
24
|
+
export { UseDropdownReturn, useDropdown };
|
package/lib/dropdown.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ref}from"vue";const useDropdown=()=>{let t=ref(!1);return{showDropdown:t,closeDropdown:()=>{t.value=!1},openDropdown:()=>{t.value=!0},toggleDropdown:()=>{t.value=!t.value}}};export{useDropdown};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ComputedRef, Ref } from "vue";
|
|
2
|
+
import { DataTableColumns } from "naive-ui";
|
|
3
|
+
import { InternalRowData } from "naive-ui/es/data-table/src/interface";
|
|
4
|
+
interface UseFilterColumnReturn {
|
|
5
|
+
/**
|
|
6
|
+
* 表格列配置
|
|
7
|
+
*/
|
|
8
|
+
tableColumns: ComputedRef<DataTableColumns<InternalRowData>>;
|
|
9
|
+
/**
|
|
10
|
+
* 可过滤的列配置列表
|
|
11
|
+
*/
|
|
12
|
+
filterColumns: Ref<any[]>;
|
|
13
|
+
/**
|
|
14
|
+
* 忽略的列类型
|
|
15
|
+
*/
|
|
16
|
+
ignoreTypes: string[];
|
|
17
|
+
}
|
|
18
|
+
declare const useFilterColumn: (columns: Ref<DataTableColumns<any>>) => UseFilterColumnReturn;
|
|
19
|
+
export { UseFilterColumnReturn, useFilterColumn };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{computed,ref,watch}from"vue";const useFilterColumn=r=>{let i=[`selection`,`expand`],a=ref([]);return watch(()=>r.value,e=>{a.value=e.map(e=>({show:!0,...e}))},{immediate:!0}),{tableColumns:computed(()=>{let e=[];for(let t=0;t<a.value.length;t++){let{show:n,...r}=a.value[t];n&&(a.value[t].type===`selection`?e.push({...r,width:45}):e.push({resizable:!0,ellipsis:{tooltip:{scrollable:!0}},minWidth:50,...r}))}return e}),filterColumns:a,ignoreTypes:i}};export{useFilterColumn};
|
package/lib/form.d.mts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Ref } from "vue";
|
|
2
|
+
import { FormItemRule, FormValidationError } from "naive-ui";
|
|
3
|
+
import { FormInst } from "naive-ui/es/form/src/interface";
|
|
4
|
+
interface UseFormReturn<T> {
|
|
5
|
+
/**
|
|
6
|
+
* 表单数据
|
|
7
|
+
*/
|
|
8
|
+
formData: Ref<any>;
|
|
9
|
+
/**
|
|
10
|
+
* 表单实例引用
|
|
11
|
+
*/
|
|
12
|
+
formInst: Ref<FormInst | null>;
|
|
13
|
+
/**
|
|
14
|
+
* 更新表单字段数据
|
|
15
|
+
* @param fields - 需要更新的字段对象
|
|
16
|
+
*/
|
|
17
|
+
updateField: (fields: Partial<T> | null | undefined) => void;
|
|
18
|
+
/**
|
|
19
|
+
* 重置表单数据,并移除校验
|
|
20
|
+
*/
|
|
21
|
+
resetField: () => void;
|
|
22
|
+
/**
|
|
23
|
+
* 重置表单验证状态
|
|
24
|
+
*/
|
|
25
|
+
restoreValidation: () => void;
|
|
26
|
+
/**
|
|
27
|
+
* 验证表单
|
|
28
|
+
* @param validateCallback - 验证回调函数
|
|
29
|
+
* @param shouldRuleBeApplied - 规则应用条件函数
|
|
30
|
+
*/
|
|
31
|
+
validate: (validateCallback?: (errors?: FormValidationError[]) => void, shouldRuleBeApplied?: (rule: FormItemRule) => boolean) => any;
|
|
32
|
+
/**
|
|
33
|
+
* 过滤列表选择项提供给表单
|
|
34
|
+
* @param selectedList - 选中列表
|
|
35
|
+
* @param formData - 表单数据
|
|
36
|
+
* @returns 过滤后的数据对象
|
|
37
|
+
*/
|
|
38
|
+
useFilterSelectedData: <Q = any, R = any>(selectedList?: Q, formData?: R) => any;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* 表单数据管理 Hook
|
|
42
|
+
* @param data - 原始表单数据
|
|
43
|
+
* @returns 表单管理对象
|
|
44
|
+
*/
|
|
45
|
+
declare const useForm: <T = never>(data: NoInfer<T>) => UseFormReturn<T>;
|
|
46
|
+
export { UseFormReturn, useForm };
|
package/lib/form.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ref,toRaw}from"vue";import{cloneDeep,pick}from"es-toolkit";const useForm=i=>{let a=ref(structuredClone(i)),o=ref(null),s=()=>o?.value?.restoreValidation(),c=(e,n)=>o?.value?.validate(e,n),l=e=>{e&&Object.assign(a.value,e)};return{updateField:l,resetField:()=>{l(cloneDeep(i)),s()},formData:a,formInst:o,restoreValidation:s,validate:c,useFilterSelectedData:(e,r)=>pick(toRaw(e).at(0)??{},Object.keys(r??{}))}};export{useForm};
|
package/lib/forward-inst.d.mts
CHANGED
|
@@ -1,16 +1,28 @@
|
|
|
1
|
+
interface UseForwardInstReturn<T> {
|
|
2
|
+
/**
|
|
3
|
+
* 转发实例函数
|
|
4
|
+
* @param el - 目标实例元素
|
|
5
|
+
*/
|
|
6
|
+
forwardInst: (el: any) => void;
|
|
7
|
+
/**
|
|
8
|
+
* 目标实例(仅在 exposeTarget 为 true 时存在)
|
|
9
|
+
*/
|
|
10
|
+
targetInst?: {
|
|
11
|
+
value: T | null;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 转发子组件实例
|
|
16
|
+
* @param options - 配置选项
|
|
17
|
+
* @param options.methods - 需要暴露的方法对象
|
|
18
|
+
* @param options.exposeTarget - 是否暴露目标实例
|
|
19
|
+
* @returns 实例转发对象
|
|
20
|
+
*/
|
|
1
21
|
declare function useForwardInst<T>({
|
|
2
22
|
methods,
|
|
3
23
|
exposeTarget
|
|
4
24
|
}?: {
|
|
5
25
|
methods?: Record<string, any>;
|
|
6
26
|
exposeTarget?: boolean;
|
|
7
|
-
}):
|
|
8
|
-
|
|
9
|
-
targetInst: {
|
|
10
|
-
value: T | null;
|
|
11
|
-
};
|
|
12
|
-
} | {
|
|
13
|
-
forwardInst: (el: any) => void;
|
|
14
|
-
targetInst?: undefined;
|
|
15
|
-
};
|
|
16
|
-
export { useForwardInst };
|
|
27
|
+
}): UseForwardInstReturn<T>;
|
|
28
|
+
export { UseForwardInstReturn, useForwardInst };
|
package/lib/index.d.mts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { UseDrawerReturn, useDrawer } from "./drawer.mjs";
|
|
2
|
+
import { UseDropdownReturn, useDropdown } from "./dropdown.mjs";
|
|
3
|
+
import { UseFilterColumnReturn, useFilterColumn } from "./filter-column.mjs";
|
|
4
|
+
import { UseFormReturn, useForm } from "./form.mjs";
|
|
5
|
+
import { UseForwardInstReturn, useForwardInst } from "./forward-inst.mjs";
|
|
6
|
+
import { UseSortableReturn, useSortable } from "./sortable.mjs";
|
|
7
|
+
import { UseTreeReturn, useTree } from "./tree.mjs";
|
|
8
|
+
import { UseModalReturn, useModal } from "./modal.mjs";
|
|
9
|
+
import { UsePopoverReturn, usePopover } from "./popover.mjs";
|
|
10
|
+
import { UseTableSelectionReturn, useTableSelection } from "./selection.mjs";
|
|
11
|
+
export { UseDrawerReturn, UseDropdownReturn, UseFilterColumnReturn, UseFormReturn, UseForwardInstReturn, UseModalReturn, UsePopoverReturn, UseSortableReturn, UseTableSelectionReturn, UseTreeReturn, useDrawer, useDropdown, useFilterColumn, useForm, useForwardInst, useModal, usePopover, useSortable, useTableSelection, useTree };
|
package/lib/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useForwardInst}from"./forward-inst.mjs";import{useSortable}from"./sortable.mjs";export{useForwardInst,useSortable};
|
|
1
|
+
import{useDrawer}from"./drawer.mjs";import{useDropdown}from"./dropdown.mjs";import{useFilterColumn}from"./filter-column.mjs";import{useForm}from"./form.mjs";import{useForwardInst}from"./forward-inst.mjs";import{useSortable}from"./sortable.mjs";import{useTree}from"./tree.mjs";import{useModal}from"./modal.mjs";import{usePopover}from"./popover.mjs";import{useTableSelection}from"./selection.mjs";export{useDrawer,useDropdown,useFilterColumn,useForm,useForwardInst,useModal,usePopover,useSortable,useTableSelection,useTree};
|
package/lib/modal.d.mts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Ref } from "vue";
|
|
2
|
+
interface UseModalReturn {
|
|
3
|
+
/**
|
|
4
|
+
* Modal 显示状态
|
|
5
|
+
*/
|
|
6
|
+
showModal: Ref<boolean>;
|
|
7
|
+
/**
|
|
8
|
+
* 打开 Modal
|
|
9
|
+
*/
|
|
10
|
+
openModal: () => void;
|
|
11
|
+
/**
|
|
12
|
+
* 关闭 Modal
|
|
13
|
+
*/
|
|
14
|
+
closeModal: () => void;
|
|
15
|
+
/**
|
|
16
|
+
* 切换 Modal 状态
|
|
17
|
+
*/
|
|
18
|
+
toggleModal: () => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Modal Hook
|
|
22
|
+
*/
|
|
23
|
+
declare const useModal: () => UseModalReturn;
|
|
24
|
+
export { UseModalReturn, useModal };
|
package/lib/modal.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ref}from"vue";const useModal=()=>{let t=ref(!1);return{showModal:t,closeModal:()=>{t.value=!1},openModal:()=>{t.value=!0},toggleModal:()=>{t.value=!t.value}}};export{useModal};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Ref } from "vue";
|
|
2
|
+
interface UsePopoverReturn {
|
|
3
|
+
/**
|
|
4
|
+
* Popover 显示状态
|
|
5
|
+
*/
|
|
6
|
+
showPopover: Ref<boolean>;
|
|
7
|
+
/**
|
|
8
|
+
* 打开 Popover
|
|
9
|
+
*/
|
|
10
|
+
openPopover: () => void;
|
|
11
|
+
/**
|
|
12
|
+
* 关闭 Popover
|
|
13
|
+
*/
|
|
14
|
+
closePopover: () => void;
|
|
15
|
+
/**
|
|
16
|
+
* 切换 Popover 状态
|
|
17
|
+
*/
|
|
18
|
+
togglePopover: () => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Popover Hook
|
|
22
|
+
*/
|
|
23
|
+
declare const usePopover: () => UsePopoverReturn;
|
|
24
|
+
export { UsePopoverReturn, usePopover };
|
package/lib/popover.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ref}from"vue";const usePopover=()=>{let t=ref(!1);return{showPopover:t,closePopover:()=>{t.value=!1},openPopover:()=>{t.value=!0},togglePopover:()=>{t.value=!t.value}}};export{usePopover};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Ref } from "vue";
|
|
2
|
+
import { RowData } from "naive-ui/es/data-table/src/interface";
|
|
3
|
+
type MixedArray = (string | number)[];
|
|
4
|
+
interface UseTableSelectionReturn {
|
|
5
|
+
/**
|
|
6
|
+
* 选择 key 列表
|
|
7
|
+
*/
|
|
8
|
+
selectedKeys: Ref<MixedArray>;
|
|
9
|
+
/**
|
|
10
|
+
* 获取行数据 key 值
|
|
11
|
+
* @param row - 行数据
|
|
12
|
+
* @returns key 值
|
|
13
|
+
*/
|
|
14
|
+
rowKey: (row: RowData) => any;
|
|
15
|
+
/**
|
|
16
|
+
* 选中项改变回调函数
|
|
17
|
+
* @param keys - 选中的 key 列表
|
|
18
|
+
* @param rows - 选中的行数据列表
|
|
19
|
+
*/
|
|
20
|
+
checkedChange: (keys: MixedArray, rows: object[]) => void;
|
|
21
|
+
/**
|
|
22
|
+
* 清空选中项
|
|
23
|
+
*/
|
|
24
|
+
clearSelected: () => void;
|
|
25
|
+
/**
|
|
26
|
+
* 获取选中 key 列表
|
|
27
|
+
* @returns 选中 key 列表
|
|
28
|
+
*/
|
|
29
|
+
getSelectedKeys: () => MixedArray;
|
|
30
|
+
/**
|
|
31
|
+
* 获取选中行数据列表
|
|
32
|
+
* @returns 选中数据列表
|
|
33
|
+
*/
|
|
34
|
+
getSelectedRows: () => object[];
|
|
35
|
+
}
|
|
36
|
+
declare const useTableSelection: (keyField: string) => UseTableSelectionReturn;
|
|
37
|
+
export { UseTableSelectionReturn, useTableSelection };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ref,toRaw}from"vue";const useTableSelection=n=>{let r=ref([]),i=ref([]);return{selectedKeys:r,clearSelected:()=>{r.value=[],i.value=[]},rowKey:e=>e[n],checkedChange:(e,t)=>{r.value=e,i.value=t},getSelectedKeys:()=>toRaw(r.value),getSelectedRows:()=>i.value.map(e=>toRaw(e))}};export{useTableSelection};
|
package/lib/sortable.d.mts
CHANGED
|
@@ -1,8 +1,27 @@
|
|
|
1
1
|
import Sortable from "sortablejs";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
interface UseSortableReturn {
|
|
3
|
+
/**
|
|
4
|
+
* Sortable 实例
|
|
5
|
+
*/
|
|
6
|
+
instance: Sortable | null;
|
|
7
|
+
/**
|
|
8
|
+
* 初始化 Sortable
|
|
9
|
+
*/
|
|
4
10
|
initSortable: () => void;
|
|
11
|
+
/**
|
|
12
|
+
* 获取 Sortable 实例
|
|
13
|
+
* @returns Sortable 实例或 null
|
|
14
|
+
*/
|
|
5
15
|
getInstance: () => Sortable | null;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
16
|
+
/**
|
|
17
|
+
* 销毁 Sortable 实例
|
|
18
|
+
*/
|
|
19
|
+
destroy: () => void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Sortable Hook
|
|
23
|
+
* @param selector - 目标元素选择器
|
|
24
|
+
* @param options - Sortable 配置选项
|
|
25
|
+
*/
|
|
26
|
+
declare const useSortable: (selector: string, options?: Sortable.Options) => UseSortableReturn;
|
|
27
|
+
export { UseSortableReturn, useSortable };
|
package/lib/sortable.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import Sortable from"sortablejs";const useSortable=(t,n)=>{let r=null;return{instance:r,initSortable:()=>{let i=document.
|
|
1
|
+
import Sortable from"sortablejs";const useSortable=(t,n)=>{let r=null;return{instance:r,initSortable:()=>{let i=document.querySelector(t);i&&(r=Sortable.create(i,{animation:500,...n}))},getInstance:()=>r,destroy:()=>r&&=(r?.destroy(),null)}};export{useSortable};
|
package/lib/tree.d.mts
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Ref } from "vue";
|
|
2
|
+
type MixedArray = (string | number)[];
|
|
3
|
+
interface UseTreeReturn<T> {
|
|
4
|
+
/**
|
|
5
|
+
* 当前选中的节点 key 列表
|
|
6
|
+
*/
|
|
7
|
+
selectedKeys: Ref<MixedArray>;
|
|
8
|
+
/**
|
|
9
|
+
* 搜索文本
|
|
10
|
+
*/
|
|
11
|
+
searchText: Ref<string>;
|
|
12
|
+
/**
|
|
13
|
+
* 全选状态的节点 key 列表
|
|
14
|
+
*/
|
|
15
|
+
checkedKeys: Ref<MixedArray>;
|
|
16
|
+
/**
|
|
17
|
+
* 全选状态的节点数据列表
|
|
18
|
+
*/
|
|
19
|
+
checkedRows: Ref<T[]>;
|
|
20
|
+
/**
|
|
21
|
+
* 半选状态的节点 key 列表
|
|
22
|
+
*/
|
|
23
|
+
halfCheckedKeys: Ref<MixedArray>;
|
|
24
|
+
/**
|
|
25
|
+
* 半选状态的节点数据列表
|
|
26
|
+
*/
|
|
27
|
+
halfCheckedRows: Ref<T[]>;
|
|
28
|
+
/**
|
|
29
|
+
* 更新全选状态的 key 列表
|
|
30
|
+
* @param val - 新 key 列表
|
|
31
|
+
*/
|
|
32
|
+
updateCheckedKeys: (val: MixedArray) => void;
|
|
33
|
+
/**
|
|
34
|
+
* 更新全选状态的数据列表
|
|
35
|
+
* @param val - 新数据列表
|
|
36
|
+
*/
|
|
37
|
+
updateCheckedRows: (val: T[]) => void;
|
|
38
|
+
/**
|
|
39
|
+
* 更新半选状态的 key 列表
|
|
40
|
+
* @param val - 新 key 列表
|
|
41
|
+
*/
|
|
42
|
+
updateHalfCheckedKeys: (val: MixedArray) => void;
|
|
43
|
+
/**
|
|
44
|
+
* 更新半选状态的 rows 列表
|
|
45
|
+
* @param val - 新 rows 列表
|
|
46
|
+
*/
|
|
47
|
+
updateHalfCheckedRows: (val: T[]) => void;
|
|
48
|
+
/**
|
|
49
|
+
* 节点勾选项发生变化时的回调函数
|
|
50
|
+
* @param keys - 勾选 key 列表
|
|
51
|
+
* @param options - 勾选数据列表
|
|
52
|
+
*/
|
|
53
|
+
onUpdateChecked: (keys: MixedArray, options: T[]) => void;
|
|
54
|
+
/**
|
|
55
|
+
* 节点部分勾选项发生变化时的回调函数
|
|
56
|
+
* @param keys - 半选 key 列表
|
|
57
|
+
* @param options - 半选数据列表
|
|
58
|
+
*/
|
|
59
|
+
onUpdateHalfChecked: (keys: MixedArray, options: T[]) => void;
|
|
60
|
+
/**
|
|
61
|
+
* 根据条件过滤全选状态的 key 列表
|
|
62
|
+
* @param predicate - 过滤条件函数
|
|
63
|
+
* @param key - 数据中作为 key 的字段名,默认为 'id'
|
|
64
|
+
* @returns 过滤后 key 列表
|
|
65
|
+
*/
|
|
66
|
+
getFilteredCheckedKeys: (predicate: (value: T, index: number) => boolean, key?: string) => MixedArray;
|
|
67
|
+
/**
|
|
68
|
+
* 根据条件过滤全选状态的 rows 列表
|
|
69
|
+
* @param predicate - 过滤条件函数
|
|
70
|
+
* @returns 过滤后 rows 列表
|
|
71
|
+
*/
|
|
72
|
+
getFilteredCheckedRows: (predicate: (value: T, index: number) => boolean) => T[];
|
|
73
|
+
/**
|
|
74
|
+
* 清空所有勾选状态
|
|
75
|
+
*/
|
|
76
|
+
clear: () => void;
|
|
77
|
+
}
|
|
78
|
+
declare const useTree: <T>() => UseTreeReturn<T>;
|
|
79
|
+
export { UseTreeReturn, useTree };
|
package/lib/tree.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ref,toRaw}from"vue";const useTree=()=>{let n=ref([]),r=ref(``),i=ref([]),a=ref([]),o=ref([]),s=ref([]),c=e=>i.value=e,l=e=>a.value=e,u=e=>o.value=e,d=e=>s.value=e,f=(e,t)=>{i.value=e,a.value=t},p=(e,t)=>{o.value=e,s.value=t},m=(e,t=`id`)=>h(e).map(e=>e[t]),h=e=>toRaw(a.value).filter((t,n)=>e(t,n));return{checkedRows:a,getFilteredCheckedKeys:m,getFilteredCheckedRows:h,halfCheckedRows:s,clear:()=>(c([]),u([])),updateHalfCheckedKeys:u,updateCheckedKeys:c,updateCheckedRows:l,updateHalfCheckedRows:d,selectedKeys:n,searchText:r,halfCheckedKeys:o,checkedKeys:i,onUpdateChecked:f,onUpdateHalfChecked:p}};export{useTree};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semi-kit/hooks",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.11",
|
|
4
4
|
"description": "Commonly used Hooks collection",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -16,8 +16,16 @@
|
|
|
16
16
|
"types": "./lib/index.d.mts",
|
|
17
17
|
"exports": {
|
|
18
18
|
".": "./lib/index.mjs",
|
|
19
|
+
"./drawer": "./lib/drawer.mjs",
|
|
20
|
+
"./dropdown": "./lib/dropdown.mjs",
|
|
21
|
+
"./filter-column": "./lib/filter-column.mjs",
|
|
22
|
+
"./form": "./lib/form.mjs",
|
|
19
23
|
"./forward-inst": "./lib/forward-inst.mjs",
|
|
24
|
+
"./modal": "./lib/modal.mjs",
|
|
25
|
+
"./popover": "./lib/popover.mjs",
|
|
26
|
+
"./selection": "./lib/selection.mjs",
|
|
20
27
|
"./sortable": "./lib/sortable.mjs",
|
|
28
|
+
"./tree": "./lib/tree.mjs",
|
|
21
29
|
"./package.json": "./package.json"
|
|
22
30
|
},
|
|
23
31
|
"scripts": {
|
|
@@ -34,12 +42,16 @@
|
|
|
34
42
|
"typescript": "catalog:",
|
|
35
43
|
"sortablejs": "catalog:",
|
|
36
44
|
"@types/sortablejs": "catalog:",
|
|
37
|
-
"vue": "catalog:"
|
|
45
|
+
"vue": "catalog:",
|
|
46
|
+
"naive-ui": "catalog:",
|
|
47
|
+
"es-toolkit": "catalog:"
|
|
38
48
|
},
|
|
39
49
|
"peerDependencies": {
|
|
40
50
|
"sortablejs": "*",
|
|
41
51
|
"@types/sortablejs": "*",
|
|
42
|
-
"vue": "*"
|
|
52
|
+
"vue": "*",
|
|
53
|
+
"naive-ui": "*",
|
|
54
|
+
"es-toolkit": "*"
|
|
43
55
|
},
|
|
44
56
|
"peerDependenciesMeta": {
|
|
45
57
|
"sortablejs": {
|
|
@@ -50,6 +62,12 @@
|
|
|
50
62
|
},
|
|
51
63
|
"vue": {
|
|
52
64
|
"optional": true
|
|
65
|
+
},
|
|
66
|
+
"naive-ui": {
|
|
67
|
+
"optional": true
|
|
68
|
+
},
|
|
69
|
+
"es-toolkit": {
|
|
70
|
+
"optional": true
|
|
53
71
|
}
|
|
54
72
|
}
|
|
55
73
|
}
|