UNPKG

@oiij/naive-ui

Version:

Som Composable Functions And Components for Vue 3

55 lines (54 loc) 2.2 kB
import { BadgeProps, ButtonProps, DataTableColumns, ModalProps } from 'naive-ui'; import { TableSelectionColumn } from 'naive-ui/es/data-table/src/interface'; import { Ref } from 'vue'; import { ClassStyle } from '../data-table-plus'; import { RObject } from '../remote-request/index'; export { default as NPresetPicker } from './PresetPicker.vue'; export type PresetPickerValue = string | number | (string | number)[] | null; export type PresetPickerExposeRefs<R extends RObject = RObject> = { showModalFlag: Ref<boolean, boolean>; checkedRowKeys: Ref<(string | number)[], (string | number)[]>; checkedRows: Ref<R[], R[]>; columns: DataTableColumns<any>; }; export type PresetPickerExposeActions<R extends RObject = RObject> = { showModal: () => void; updateCheckedRowKeysEffect: (keys: (string | number)[], rows: (R | undefined)[], meta: { row: R | undefined; action: 'check' | 'uncheck' | 'checkAll' | 'uncheckAll'; }, currentData: R[]) => void; clickRowEffect: (row: R) => void; clearValue: () => void; setCheckedRowKeys: (keys: (string | number)[]) => void; setCheckedRows: (rows: R[]) => void; }; export type PresetPickerProps<V extends PresetPickerValue, R extends RObject = RObject> = { value?: V; fallbackLabel?: string | ((val: string | number) => string); multiple?: boolean; disabled?: boolean; clearable?: boolean; placeholder?: string; type?: ButtonProps['type']; columns?: DataTableColumns<R>; selectionOptions?: TableSelectionColumn; fields?: { label?: string; value?: string; }; buttonProps?: ButtonProps & ClassStyle; clearButtonProps?: ButtonProps & ClassStyle; badgeProps?: BadgeProps & ClassStyle; modalProps?: ModalProps & ClassStyle; }; export type PresetPickerEmits<V extends PresetPickerValue, R extends RObject = RObject> = { (e: 'update:value', val: V | null, raw: R | R[] | null): void; (e: 'afterEnter'): void; (e: 'afterLeave'): void; (e: 'esc'): void; (e: 'maskClick'): void; (e: 'update:show', value: boolean): void; (e: 'close'): void; (e: 'negativeClick'): void; (e: 'positiveClick'): void; };