@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
56 lines (55 loc) • 1.91 kB
TypeScript
import { Ref, SetupContext } from "vue";
import { LookupProps } from "../lookup.props";
import { UserDataService } from "./use-user-data";
import { UseHttpComposition } from "./use-http";
import { LookupLocaleData } from "./use-locales";
type DictPickedResult = boolean | {
/** @deprecated 请使用 canClose 替代 */
closeDialog: boolean;
message?: string;
canClose: boolean;
};
export interface UseDialogOptions {
dictPicked: (items: any) => Promise<DictPickedResult>;
modelValue: Ref<any>;
buttonEditInstance: Ref<any>;
userDataService: UserDataService;
useHttp: UseHttpComposition;
lookupLocales: LookupLocaleData;
}
export declare function useDialog(props: LookupProps, context: SetupContext, selectedItems: Ref<any[]>, { dictPicked, modelValue, buttonEditInstance, userDataService, useHttp, lookupLocales }: UseDialogOptions): {
modalOptions: {
title: string;
fitContent: boolean;
showHeader: boolean;
dragHandle: string;
height: number;
width: number;
minWidth: number;
minHeight: number;
resizeable: boolean;
draggable: boolean;
enableEsc: boolean;
closedCallback: ($event: Event, closeFrom: string) => void;
showButtons: boolean;
resizeHandle: ($event: any) => void;
enableEnter: boolean;
onEnter: ($event: any) => void;
};
beforeOpenDialog: ($event?: any) => Promise<boolean>;
dialogSize: Ref<any, any>;
customData: Ref<any, any>;
updateModelValue: () => Promise<{
shouldClose: boolean;
message: string | undefined;
}>;
cancelDialog: () => boolean;
submitDialog: () => Promise<boolean>;
destroyed: () => void;
setModelAndIdValue: () => void;
runDictPickedAsync: () => Promise<{
shouldClose: boolean;
message: string | undefined;
}>;
};
export {};