@oiij/naive-ui
Version:
Some Composable Functions And Components for Vue 3
59 lines (58 loc) • 2.35 kB
TypeScript
import { DataObject } from "../../composables/useDataRequest.js";
import { ClassStyle } from "../data-table-plus/index.js";
import { _default } from "./PresetPicker.vue.js";
import { Ref } from "vue";
import { BadgeProps, ButtonProps, DataTableColumns, ModalProps } from "naive-ui";
import { ComponentExposed } from "vue-component-type-helpers";
import { TableSelectionColumn } from "naive-ui/es/data-table/src/interface";
//#region src/components/preset-picker/index.d.ts
type PresetPickerValue = string | number | (string | number)[] | null;
type PresetPickerExpose<R extends DataObject = DataObject> = {
showModalFlag: Ref<boolean, boolean>;
checkedRowKeys: Ref<(string | number)[], (string | number)[]>;
checkedRows: Ref<R[], R[]>;
columns: DataTableColumns<any>;
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;
};
type PresetPickerProps<V extends PresetPickerValue, R extends DataObject = DataObject> = {
value?: V;
fallbackLabel?: string | ((val: string | number) => string);
multiple?: boolean;
disabled?: boolean;
clearable?: boolean;
tooltip?: 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;
};
type PresetPickerEmits<V extends PresetPickerValue, R extends DataObject = DataObject> = {
(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;
};
type PresetPickerInst = ComponentExposed<typeof _default>;
//#endregion
export { PresetPickerEmits, PresetPickerExpose, PresetPickerInst, PresetPickerProps, PresetPickerValue };