UNPKG

@ithinkdt/cloud

Version:

iThinkDT Cloud

33 lines (29 loc) 1.12 kB
import { MaybeRef, Ref } from 'vue' import { ModuleItem, Icon } from '@ithinkdt/core' export interface DtModuleItem extends ModuleItem { labelEn?: string parent?: DtModuleItem | undefined children?: DtModuleItem[] } export interface DtModuleData extends PartialKeys<Omit<DtModuleItem, 'icon' | 'children'>, 'key' | 'appCode'> { icon?: DtModuleItem['icon'] | PartialKeys<Icon, 'id' | 'type'> children?: DtModuleData[] } export declare function useModuleTree(options?: { appCode?: MaybeRef<string | undefined> immediate?: boolean includeApp?: boolean includeEmptyApp?: boolean includeAction?: boolean }): { tree: Ref<DtModuleItem[]> loading: Ref<boolean> getByKey: (key: string) => DtModuleItem | undefined getParentByKey: (key: string) => DtModuleItem | undefined refresh: () => Promise<DtModuleItem[]> save<M extends MaybeArray<RequiredKeys<DtModuleData, 'appCode'>>>( this: void, m: M, ): Promise<M extends unknown[] ? DtModuleItem[] : DtModuleItem> del: (m: Pick<DtModuleItem, 'key'> | DtModuleItem['key']) => Promise<void> }