import { DataSourceItemType } from 'antd/lib/auto-complete'; import { CascaderOptionType, FieldNamesType } from 'antd/lib/cascader'; import { CheckboxOptionType } from 'antd/lib/checkbox/Group'; import { DatePickerMode as AntDatePickerMode, RangePickerPresetRange, RangePickerValue } from 'antd/lib/date-picker/interface'; import { AutoSizeType } from 'antd/lib/input/ResizableTextArea'; import { OptionProps, SelectProps, SelectValue } from 'antd/lib/select'; import { SwitchClickEventHandler } from 'antd/lib/switch'; import { ListStyle, RenderResult, TransferDirection, TransferItem, TransferListProps } from 'antd/lib/transfer'; import { TreeDataSimpleMode, TreeNode } from 'antd/lib/tree-select/interface'; import * as moment from 'moment'; import React from 'react'; import { ReactControl } from '../../react/base'; import { ValueEditor } from '../../react/editor'; import { Style } from '../../react/style'; export declare const InputSize: { default: string; large: string; small: string; }; export declare class BaseInputEditor extends ValueEditor { name?: string; size?: keyof typeof InputSize; allowClear?: boolean; disabled?: boolean; placeholder?: string | any; defaultValue?: any; locale?: any; } export declare class TextInputEditor extends BaseInputEditor { readOnly?: boolean; required?: boolean; } export declare class BaseSelectEditor extends BaseInputEditor { showAction?: string | string[]; transitionName?: string; choiceTransitionName?: string; showSearch?: boolean; showArrow?: boolean; defaultActiveFirstOption?: boolean; dropdownStyle?: Style; dropdownMenuStyle?: Style; dropdownMatchSelectWidth?: boolean; defaultOpen?: boolean; autoClearSearchValue?: boolean; loading?: boolean; filterOption?: boolean | ((inputValue: string, option: React.ReactElement) => boolean); onSearch?: (value: string) => void; getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement; onDropdownVisibleChange?: (open: boolean) => void; dropdownRender?: (menu?: React.ReactNode, props?: SelectProps) => React.ReactNode; } export declare class PickerEditor extends BaseInputEditor { format?: string | string[]; suffixIcon?: ReactControl; popupStyle?: Style; open?: boolean; autoFocus?: boolean; getCalendarContainer?: (triggerNode: Element) => HTMLElement; onOpenChange?: (status: boolean) => void; disabledDate?: (current: moment.Moment | null | undefined) => boolean; dateRender?: (current: moment.Moment, today: moment.Moment) => React.ReactNode; onFocus?: React.FocusEventHandler; onBlur?: (e: React.SyntheticEvent) => void; } /** 以下是常用的编辑器定义 */ /** 普通文本编辑器 */ export declare class InputEditor extends TextInputEditor { addonBeforeControl?: ReactControl; addonAfterControl?: ReactControl; prefixControl?: ReactControl; suffixControl?: ReactControl; addonBefore?: string; addonAfter?: string; prefix?: string; suffix?: string; onPressEnter?: React.KeyboardEventHandler; onRender?: (() => JSX.Element) | undefined; } export declare const InputEditorControl: any; export declare class TextEditor extends InputEditor { changeOnBlur?: boolean; changeOnKeyDown?: boolean; onRender?: (() => JSX.Element) | undefined; } export declare const TextEditorControl: any; /** 多行文本编辑器 */ export declare class TextAreaEditor extends TextInputEditor { changeOnKeyDown?: boolean; autoSize?: boolean | AutoSizeType; onPressEnter?: React.KeyboardEventHandler; onRender?: (() => JSX.Element) | undefined; } export declare const TextAreaEditorControl: any; /** 密码编辑器 */ export declare class PasswordEditor extends InputEditor { changeOnKeyDown?: boolean; visibilityToggle?: boolean; onRender?: (() => JSX.Element) | undefined; } export declare const PasswordEditorControl: any; /** 密码编辑器 */ export declare class SearchEditor extends InputEditor { enterButton?: ReactControl; loading?: boolean; onSearch?: (value: string, event?: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent) => void; onRender?: (() => JSX.Element) | undefined; } export declare const SearchEditorControl: any; /** 数字编辑器 */ export declare class InputNumberEditor extends TextInputEditor { changeOnKeyDown?: boolean; min?: number; max?: number; step?: number | string; onChange?: (value: number | undefined) => void; formatter?: (value: number | string | undefined) => string; parser?: (displayValue: string | undefined) => number | string; onPressEnter?: React.KeyboardEventHandler; onRender?: (() => JSX.Element) | undefined; } export declare const InputNumberEditorControl: any; export declare type CascaderOption = { value: any; label: any; children: CascaderOption[]; }; export declare const ExpandTrigger: { click: string; hover: string; }; export declare const PopupPlacement: { bottomLeft: string; bottomRight: string; topLeft: string; topRight: string; }; /** 级联选择器 */ export declare class CascaderEditor extends BaseInputEditor { options?: CascaderOption[]; showSearch?: boolean; changeOnSelect?: boolean; expandTrigger?: keyof typeof ExpandTrigger; popupPlacement?: keyof typeof PopupPlacement; popupVisible?: boolean; /** use this after antd@3.7.0 */ fieldNames?: FieldNamesType; /** typo props name before antd@3.7.0 */ filedNames?: FieldNamesType; suffixIcon?: ReactControl; notFoundContent?: ReactControl; /** 选择完成后的回调 */ onChange?: (value: string[], selectedOptions?: CascaderOptionType[]) => void; /** 选择后展示的渲染函数 */ displayRender?: (label: string[], selectedOptions?: CascaderOptionType[]) => React.ReactNode; loadData?: (selectedOptions?: CascaderOptionType[]) => void; /** 浮层可见变化时回调 */ onPopupVisibleChange?: (popupVisible: boolean) => void; getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement; onCreateOptions?: () => CascaderOption[]; handleNewValue?: (newValue: any) => any; handleSetValue?: (setValue: any) => any[]; onRender?: (() => JSX.Element) | undefined; } export declare const CascaderEditorControl: any; export declare const SelectMode: { default: string; multiple: string; tags: string; combobox: string; }; /** 选择器 */ export declare class SelectEditor extends BaseSelectEditor { optionList?: { value: any; title: any; }[]; mode?: keyof typeof SelectMode | (keyof typeof SelectMode)[]; optionLabelProp?: string; optionFilterProp?: string; firstActiveValue?: string | string[]; maxTagCount?: number; maxTagTextLength?: number; maxTagPlaceholder?: ReactControl; labelInValue?: boolean; tokenSeparators?: string[]; autoFocus?: boolean; suffixIcon?: ReactControl; removeIcon?: ReactControl; clearIcon?: ReactControl; menuItemSelectedIcon?: ReactControl; getInputElement?: () => React.ReactElement; onSelect?: (value: SelectValue extends (infer I)[] ? I : SelectValue, option: React.ReactElement) => void; onDeselect?: (value: SelectValue extends (infer I)[] ? I : SelectValue) => void; onBlur?: (value: SelectValue) => void; onFocus?: () => void; onPopupScroll?: React.UIEventHandler; onInputKeyDown?: (e: React.KeyboardEvent) => void; onMouseEnter?: (e: React.MouseEvent) => void; onMouseLeave?: (e: React.MouseEvent) => void; onCreateOptionList?: () => any[]; onRender?: (() => JSX.Element) | undefined; } export declare const SelectEditorControl: any; export declare const ShowCheckedStrategy: { SHOW_ALL: string; SHOW_PARENT: string; SHOW_CHILD: string; }; /** 树选择器 */ export declare class TreeSelectEditor extends BaseSelectEditor { treeData?: Array; autoFocus?: boolean; labelInValue?: boolean; maxTagCount?: number; maxTagPlaceholder?: ReactControl; multiple?: boolean; notFoundContent?: ReactControl; searchPlaceholder?: string; searchValue?: string; showCheckedStrategy?: keyof typeof ShowCheckedStrategy; suffixIcon?: ReactControl; removeIcon?: ReactControl; clearIcon?: ReactControl; treeCheckable?: boolean; treeCheckableControl?: ReactControl; treeCheckStrictly?: boolean; treeDataSimpleMode?: boolean | TreeDataSimpleMode; treeDefaultExpandAll?: boolean; treeDefaultExpandedKeys?: Array; treeIcon?: boolean; treeNodeFilterProp?: string; treeNodeLabelProp?: string; treeExpandedKeys?: Array; onFocus?: React.FocusEventHandler; onBlur?: React.FocusEventHandler; filterTreeNode?: (inputValue: string, treeNode: any) => boolean | boolean; loadData?: (node: any) => void; onSearch?: (value: any) => void; onSelect?: (value: any, node: any, extra: any) => void; onTreeExpand?: (keys: Array) => void; onRender?: (() => JSX.Element) | undefined; } export declare const TreeSelectEditorControl: any; export declare const DatePickerMode: { time: string; date: string; month: string; year: string; decade: string; }; export declare class DatePickerEditor extends PickerEditor { showTime?: boolean; timePicker?: TimePickerEditor; showToday?: boolean; mode?: AntDatePickerMode; disabledTime?: (current: moment.Moment | null | undefined) => { disabledHours?: () => number[]; disabledMinutes?: () => number[]; disabledSeconds?: () => number[]; }; onOpenChange?: (status: boolean) => void; onPanelChange?: (value: moment.Moment | null | undefined, mode: AntDatePickerMode) => void; onOk?: (selectedTime: moment.Moment | null) => void; onRender?: (() => JSX.Element) | undefined; } export declare const DatePickerEditorControl: any; export declare class WeekPickerEditor extends PickerEditor { onRender?: (() => JSX.Element) | undefined; } export declare const WeekPickerEditorControl: any; export declare class MonthPickerEditor extends PickerEditor { monthCellContentRender?: (date: moment.Moment, locale: any) => React.ReactNode; onRender?: (() => JSX.Element) | undefined; } export declare const MonthPickerEditorControl: any; export declare class DateRangePickerEditor extends PickerEditor { timePicker?: ReactControl; showTime?: boolean; timePickerProps?: TimePickerEditor; showToday?: boolean; ranges?: { [range: string]: RangePickerPresetRange; }; placeholder?: [string, string]; separator?: ReactControl; onCalendarChange?: (dates: RangePickerValue, dateStrings: [string, string]) => void; onOk?: (selectedTime: RangePickerPresetRange) => void; disabledTime?: any; onPanelChange?: (value?: RangePickerValue, mode?: string | string[]) => void; renderExtraFooter?: () => React.ReactNode; onMouseEnter?: (e: React.MouseEvent) => void; onMouseLeave?: (e: React.MouseEvent) => void; onRender?: (() => JSX.Element) | undefined; } export declare const DateRangePickerEditorControl: any; export declare class TimePickerEditor extends TextInputEditor { open?: boolean; format?: string; hideDisabledOptions?: boolean; use12Hours?: boolean; focusOnOpen?: boolean; hourStep?: number; minuteStep?: number; secondStep?: number; allowEmpty?: boolean; inputReadOnly?: boolean; clearText?: string; defaultOpenValue?: moment.Moment; popupStyle?: Style; suffixIcon?: ReactControl; clearIcon?: ReactControl; onOpenChange?: (open: boolean) => void; onAmPmChange?: (ampm: 'AM' | 'PM') => void; disabledHours?: () => number[]; disabledMinutes?: (selectedHour: number) => number[]; disabledSeconds?: (selectedHour: number, selectedMinute: number) => number[]; getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement; addon?: Function; onRender?: (() => JSX.Element) | undefined; } export declare const TimePickerEditorControl: any; /** 复选框编辑器 */ export declare class CheckBoxEditor extends BaseInputEditor { allowClear?: boolean; size?: keyof typeof InputSize; placeholder?: string | any; defaultChecked?: boolean; autoFocus?: boolean; indeterminate?: boolean; onClick?: React.MouseEventHandler; onMouseEnter?: React.MouseEventHandler; onMouseLeave?: React.MouseEventHandler; onKeyPress?: React.KeyboardEventHandler; onKeyDown?: React.KeyboardEventHandler; onRender?: (() => JSX.Element) | undefined; } export declare const CheckBoxEditorControl: any; export declare class CheckBoxGroupEditor extends ValueEditor { name?: string; defaultValue?: any; disabled?: boolean; options?: Array; onRender?: (() => JSX.Element) | undefined; } export declare const CheckBoxGroupEditorControl: any; export declare const SwitchSize: { default: string; small: string; }; /** 复选框编辑器 */ export declare class SwitchEditor extends ValueEditor { size?: keyof typeof SwitchSize; defaultChecked?: boolean; checkedChildren?: ReactControl; unCheckedChildren?: ReactControl; disabled?: boolean; loading?: boolean; autoFocus?: boolean; title?: string; onClick?: SwitchClickEventHandler; onRender?: (() => JSX.Element) | undefined; } export declare const SwitchEditorControl: any; export declare class ColorEditor extends TextEditor { onRender?: (() => JSX.Element) | undefined; } export declare const ColorEditorControl: any; export declare class ThemeSelectEditor extends SelectEditor { onCreateOptionList?: (() => { title: string; value: string; }[]) | undefined; } export declare const ThemeSelectEditorControl: any; export declare class AutoCompleteEditor extends BaseSelectEditor { dataSource?: DataSourceItemType[]; autoFocus?: boolean; backfill?: boolean; optionLabelProp?: string; children?: ReactControl; onChange?: (value: SelectValue) => void; onSelect?: (value: SelectValue, option: Object) => any; onBlur?: (value: SelectValue) => void; onFocus?: () => void; onRender?: (() => JSX.Element) | undefined; } export declare const AutoCompleteEditorControl: any; export declare const Placement: { top: string; bottom: string; }; export declare class MentionsEditor extends TextAreaEditor { changeOnKeyDown?: boolean; autoSize?: boolean | AutoSizeType; loading?: boolean; autoFocus?: boolean; notFoundContent?: ReactControl; split?: string; transitionName?: string; placement?: keyof typeof Placement; filterOption?: false | any; validateSearch?: any; onChange?: (text: string) => void; onSelect?: (option: OptionProps, prefix: string) => void; onSearch?: (text: string, prefix: string) => void; onFocus?: React.FocusEventHandler; onBlur?: React.FocusEventHandler; getPopupContainer?: () => HTMLElement; onPressEnter?: React.KeyboardEventHandler; onRender?: (() => JSX.Element) | undefined; } export declare const MentionsEditorControl: any; export declare class TransferEditor extends ValueEditor { disabled?: boolean; dataSource?: TransferItem[]; selectedKeys?: string[]; operationStyle?: Style; titles?: string[]; operations?: string[]; showSearch?: boolean; searchPlaceholder?: string; notFoundContent?: ReactControl; lazy?: {} | boolean; showSelectAll?: boolean; render?: (item: TransferItem) => RenderResult; onSelectChange?: (sourceSelectedKeys: string[], targetSelectedKeys: string[]) => void; listStyle?: ((style: ListStyle) => React.CSSProperties) | React.CSSProperties; filterOption?: (inputValue: string, item: TransferItem) => boolean; footer?: (props: TransferListProps) => React.ReactNode; body?: (props: TransferListProps) => React.ReactNode; rowKey?: (record: TransferItem) => string; onSearchChange?: (direction: TransferDirection, e: React.ChangeEvent) => void; onSearch?: (direction: TransferDirection, value: string) => void; onScroll?: (direction: TransferDirection, e: React.SyntheticEvent) => void; onRender?: (() => JSX.Element) | undefined; } export declare const TransferEditorControl: any;