@aplus-frontend/ui
Version:
52 lines (51 loc) • 2.39 kB
TypeScript
import { EditableColumnType } from './interface';
import { StandardBehaviorOptions } from '../../node_modules/scroll-into-view-if-needed';
import { ValueTypeRenderConfig } from '../config-provider';
import { VNode, RendererNode, RendererElement } from 'vue';
import { EditableGridColumnType } from '../ap-grid/editable/interface';
import { EditableAgGridColumnType } from '../ag-grid/editable/interface';
/**
* 获取编辑模式下默认映射的组件
* @param valueType
* @returns
*/
export declare function getEditableComponent(valueType: EditableColumnType['valueType']): any;
/**
* 获取可编辑表格的某列字段是否是required
* @description 请注意,此方法只根据`fieldProps.required`和`fieldProps.rules`来判断,并不会关注当前列是否可以渲染编辑节点
* @param column
* @returns
*/
export declare function getColumnIsRequired(column: EditableColumnType<any, 'text', 'text'>): boolean;
/**
* 获取ellipsis模式下最终需要渲染的字符串
* @param column
* @param value
* @returns
*/
export declare function getRawDisplayValue(column: EditableColumnType, value: any): any;
export declare function mergeClass(current: string, classNames?: string | string[]): string;
/**
* 滚动到表格的某行
* @param index
* @param container
* @param options
*/
export declare function scrollToRowIndex(index: number, container?: HTMLElement, options?: StandardBehaviorOptions): void;
/**
* 获取最终需要渲染到单元格的节点
* @param column 表格列配置
* @param editable 是否可编辑
* @param innerProps props
* @param value 当前表格映射的值
* @param record 当前行数据
* @param extraValueTypes 自定义valueType映射
* @returns
*/
export declare function getFinalNode(column: EditableColumnType, editable: boolean, innerProps: Record<string, any>, value: any, record: any, extraRenderMap?: Record<string, ValueTypeRenderConfig>): any;
export declare function getEditableTableTitle(column: EditableColumnType<any> | EditableGridColumnType | EditableAgGridColumnType, titleNodeClassName: string, requiredNodeClassName: string, slot?: (props: {
title: any;
column: EditableColumnType<any> | EditableGridColumnType | EditableAgGridColumnType;
}) => any, tooltipColor?: string): VNode< RendererNode, RendererElement, {
[key: string]: any;
}>[] | import("vue/jsx-runtime").JSX.Element;