@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
48 lines (47 loc) • 1.72 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 | {
closeDialog: boolean;
message?: string;
};
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<DictPickedResult>;
cancelDialog: () => boolean;
submitDialog: () => Promise<boolean>;
destroyed: () => void;
setModelAndIdValue: () => void;
runDictPickedAsync: () => Promise<DictPickedResult>;
};
export {};