@aplus-frontend/ui
Version:
110 lines (109 loc) • 4.37 kB
TypeScript
import { ApColumnType, ValueEnum, ValueEnumType } from './interface';
import { ValueTypeRenderConfig } from '../config-provider';
import { apTableRenderItemMap } from './constants';
import { VNode, VNodeArrayChildren, RendererNode, RendererElement } from 'vue';
import { EditableColumnType } from '../editable-table/interface';
import { ColumnType, ColumnGroupType } from '@aplus-frontend/antdv/es/table';
import { ColumnTitleProps } from '@aplus-frontend/antdv/es/table/interface';
import { VueNode } from '@aplus-frontend/antdv/es/_util/type';
export type FieldValueType = 'multiple' | 'multipleNumber' | 'dayjs' | 'dayjsRange' | 'dayjsDayRange' | 'number' | 'boolean' | 'object';
export declare const formatParamsValueType: (type: FieldValueType | Record<string, FieldValueType>, value: any, cb: (t: FieldValueType, value: any) => any) => any;
/**
* 解析数值
* @param t 值类型
* @param value 值
*/
export declare const parseFieldValue: (t: FieldValueType, value: any) => any;
/**
* 对表格的dataIndex进行拼接处理
* @param dataIndex
* @returns
*/
export declare function dataIndexToStr(dataIndex: string | number | (string | number)[]): string | number;
type OptionType = {
label?: string;
text?: string;
value?: any;
disabled?: boolean;
[key: string]: any;
};
type ValueEnumMap = Map<string | number | boolean, ValueEnumType>;
export declare const objectToMap: (value: ValueEnum | undefined) => ValueEnumMap;
/**
* valueEnum转options array
* @param valueEnumParams
* @returns
*/
export declare const valueEnumToArray: (valueEnumParams: ValueEnum) => Partial<OptionType>[];
/**
* 获取列在查询表单中的排序
* @param order
* @returns
*/
export declare const getColumnOrder: (order?: number) => number;
/**
* 获取对象形式的FieldProps
* @param fieldProps
* @param record
* @returns
*/
export declare function getFieldProps<RecordType = any>(fieldProps: ApColumnType<any, any>['fieldProps'], opt: Partial<{
value: any;
text: any;
record: any;
index: number;
renderIndex: number;
column: ApColumnType<RecordType, any>;
}>): any;
/**
* 获取表格的渲染类型
* @param item
* @returns
*/
export declare function getTableRenderType(item: ApColumnType | EditableColumnType): "number" | "select" | "date" | "checkbox" | "radio" | "text" | "switch" | "treeSelect" | "textArea" | "status" | "password" | "index" | "action" | "dateRange";
export declare function getTableCellRenderNode(renderType: keyof typeof apTableRenderItemMap, renderProps: any, record: any, extraRenderMap?: Record<string, ValueTypeRenderConfig>): any;
/**
* 获取查询表单最终渲染的节点
* @param item
* @param extraRenderMap
* @returns
*/
export declare function getSearchFormItemRenderNode(item: any, extraRenderMap?: Record<string, ValueTypeRenderConfig>): (() => VNode<unknown, unknown, {
[key: string]: any;
}>) | (() => import("vue/jsx-runtime").JSX.Element | null);
/**
* 处理表格render组件的props
* @param item
* @param renderOption
* @returns
*/
export declare function getTableRenderProps(item: ApColumnType<any, any>, renderOption: any): any;
/**
* 将apColumn转化为column
* @param column
* @returns
*/
export declare function apColumnToColumn(column: ApColumnType): ApColumnType;
/**
* 更新查询表单的的props
* @param item
* @param fieldProps
* @returns
*/
export declare function updateFormProps(item: ApColumnType<any, any>, fieldProps: any): any;
/**
* 对象数组字符串化
* @param value
* @returns
*/
export declare function objectToString(value: any): any;
export declare function getTableTitle(column: ApColumnType<any>, titleNodeClassName: string | string[], slot?: (props: {
title: any;
column: ApColumnType<any>;
}) => any, tooltipColor?: string): number | boolean | void | VNodeArrayChildren | VNode< RendererNode, RendererElement, {
[key: string]: any;
}> | ((props: ColumnTitleProps<any>) => VNodeArrayChildren | VueNode) | null;
export declare function recursionApColumns<ReturnType = any, ColumnsType extends Array<any> = (ColumnType | ColumnGroupType<any>)[]>(columns: ColumnsType, handler: (column: ColumnsType[0]) => ReturnType): ReturnType[];
export declare function isEqualCustom(value: any, other: any): boolean | undefined;
export declare function falseToUndefined(obj: any): any;
export {};