choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
95 lines (94 loc) • 5.48 kB
TypeScript
import { ReactNode } from 'react';
import { BigNumber } from 'bignumber.js';
import { Utils } from 'choerodon-ui/dataset';
import { getConfig as getConfigDefault, getProPrefixCls as getProPrefixClsDefault } from '../../../lib/configure/utils';
import { TooltipPlacement, TooltipTheme } from '../../../lib/tooltip';
import { FormatNumberFuncOptions } from '../number-field/NumberField';
import { TooltipProps } from '../tooltip/Tooltip';
import ValidationResult from '../validator/ValidationResult';
import DataSet from '../data-set/DataSet';
import Record from '../data-set/Record';
import Field, { HighlightProps } from '../data-set/Field';
import { Renderer, RenderProps, TagRendererProps } from './FormField';
import { Tooltip } from '../core/enum';
declare const toRangeValue: typeof Utils.toRangeValue;
declare const getDateFormatByFieldType: typeof Utils.getDateFormatByFieldType;
declare const getDateFormatByField: typeof Utils.getDateFormatByField;
export { toRangeValue, getDateFormatByFieldType, getDateFormatByField, };
export declare function fromRangeValue(value: any[], range?: boolean | [string, string]): any;
export declare function toMultipleValue(value: any, range?: boolean | [string, string]): any[];
export declare function transformHighlightProps(highlight: true | ReactNode | HighlightProps, props: HighlightProps): HighlightProps;
export declare function getCurrencyFormatter(getConfig?: typeof getConfigDefault): import("../number-field/NumberField").FormatNumberFunc;
export declare function getNumberFormatter(getConfig?: typeof getConfigDefault): import("../number-field/NumberField").FormatNumberFunc;
export declare function getCurrencyFormatOptions(getProp: (name: any) => any, getDisplayProp: (name: any) => any, controlLang?: string, getConfig?: typeof getConfigDefault): FormatNumberFuncOptions;
export declare function getNumberFormatOptions(getProp: (name: any) => any, getDisplayProp: (name: any) => any, getValue?: () => number | BigNumber | undefined, value?: number | BigNumber, controlLang?: string, getConfig?: typeof getConfigDefault): FormatNumberFuncOptions;
export declare function processFieldValue(value: any, field: Field | undefined, options: {
getProp(name: string): any;
getValue?(): any;
lang?: string;
/**
* 显示类属性值获取(组件属性优先级高于 DataSet Field 属性优先级)
* @param name
*/
getDisplayProp?(name: string): any;
}, showValueIfNotFound?: boolean, record?: Record, getConfig?: typeof getConfigDefault): any;
export declare type ProcessValueOptions = {
dateFormat?: string;
showInvalidDate?: boolean;
isNumber?: boolean;
precision?: number;
useZeroFilledDecimal?: boolean;
};
export declare function processValue(value: any, options?: ProcessValueOptions): any;
export declare function isFieldValueEmpty(value: any, range?: boolean | [string, string], multiple?: boolean, valueField?: string, textField?: string): boolean;
export declare type MultipleRenderOption = {
range?: boolean | [string, string] | undefined;
maxTagCount?: number | undefined;
maxTagPlaceholder?: ReactNode | ((omittedValues: any[]) => ReactNode);
prefixCls?: string | undefined;
disabled?: boolean | undefined;
readOnly?: boolean | undefined;
validationResults?: ValidationResult[] | undefined;
tooltipTheme?: TooltipTheme;
tagRenderer?: (props: TagRendererProps) => ReactNode;
isMultipleBlockDisabled?(v: any): boolean;
processRenderer(v: any, repeat?: number): ReactNode;
renderValidationResult(result: ValidationResult): ReactNode;
handleMultipleValueRemove?(e: any, value: any, index: number): void;
isValidationMessageHidden(message?: ReactNode): boolean | undefined;
showValidationMessage(e: any, message?: ReactNode, tooltipTheme?: TooltipTheme, tooltipPlacement?: TooltipPlacement): void;
getKey?(v: any): string;
rangeSeparator?: string;
};
export declare type RangeRenderOption = {
repeat?: number | undefined;
processRenderer(v: any, repeat?: number): ReactNode;
rangeSeparator?: string;
};
export declare type MultiLineRenderOption = {
prefixCls?: string | undefined;
field: Field;
record?: Record;
dataSet?: DataSet;
renderer?: Renderer;
name?: string;
tooltip?: Tooltip;
labelTooltip?: Tooltip | [Tooltip, TooltipProps];
renderValidationResult(result: ValidationResult): ReactNode;
isValidationMessageHidden(message?: ReactNode): boolean | undefined;
processValue(value: any): ReactNode;
};
export declare function renderRangeValue(value: any, option: RangeRenderOption): JSX.Element | undefined;
export declare function getValueKey(v: any): any;
export declare function renderMultipleValues(value: any, option: MultipleRenderOption): {
tags: ReactNode;
multipleValidateMessageLength: number;
isOverflowMaxTagCount: boolean;
};
export declare function renderMultiLine(options: MultiLineRenderOption): {
lines?: ReactNode;
multipleValidateMessageLength: number;
};
export declare function renderValidationMessage(validationMessage: ReactNode, showIcon?: boolean, getProPrefixCls?: typeof getProPrefixClsDefault): ReactNode;
export declare function defaultRenderer(renderOption: RenderProps): {} | null | undefined;
export declare function showValidationMessage(e: any, message?: ReactNode, tooltipTheme?: TooltipTheme, tooltipPlacement?: TooltipPlacement, getConfig?: typeof getConfigDefault): void;