import Select from '.'; import { CSSProperties } from 'react'; import { PageAddress } from '@mjcloud/page/dist/typings'; import { ColumnType, TablePaginationConfig } from 'antd/lib/table'; import { IConfigStartLoadParams, IInitialStateParams } from '@mjcloud/redux'; import { XmlNode, IControlSetConfig, ControlConfig, XmlList, IControlConfig } from '@mjcloud/types'; import { ISelectBaseConfig, ISelectBaseState, SelectBaseControlActionType, SelectBaseControlEventType, ISelectBaseValueChangeArg, IRowSelectBaseValueChangeArg, ISelectBaseDataSource } from '../common/select/typings'; export interface ISelectConfigStartLoadParams extends IConfigStartLoadParams { address: PageAddress; } export interface ISelectInitialStateParams extends IInitialStateParams { address: PageAddress; } export interface ISelectButtonClickAfterParams { isAdd?: boolean; config?: ISelectButtonConfig; } export interface ISelectSearchItem { left: string; } interface IPaginationConfig { pageSize: number; showTotal: boolean; } export interface ISelectColumnProps extends ColumnType { children?: ISelectColumnProps[]; } export interface ISelectConfigGrid { fastnessCount?: number; items: XmlList; } export declare type ISelectConfigGridItemSet = ISelectConfigGridItem | ISelectConfigGridParent; export interface ISelectConfigGridItem extends XmlNode { id: string; title: string; field?: string; width?: number; control?: ControlConfig; } export interface ISelectConfigGridParent extends XmlNode { id: string; title: string; items?: ISelectConfigGridItemSet[]; } export interface ISelectButtonConfig extends IControlSetConfig { title?: string; moduleId?: string; display?: boolean; controllerId?: string; isAuthority: boolean; code?: string; icon?: string; tip?: string; } export interface ISelectConfig extends ISelectBaseConfig { addRowButton?: ISelectButtonConfig; suffixButton?: ISelectButtonConfig; needDropdown: boolean; dataIsDefaultSelected?: boolean; grid?: ISelectConfigGrid; pagination?: IPaginationConfig; search?: Array; /** * 是否允许多选,默认为false */ multiSelect: boolean; /** * 自动分词的分隔符 */ tokenSeparators: string[]; /** * 格式化成值时使用的分隔符 */ vaueleTokenSeparator: string; /** * 格式化成文本时使用的分隔符 */ textTokenSeparator: string; controllerId?: string | undefined; } export interface SelectConfig extends ISelectConfig, IControlConfig { } export interface ISelectState extends ISelectBaseState { autoFocus: boolean; totalWidth: number; needDropdown: boolean; buttonLoading: boolean; addRowButton?: ISelectButtonConfig; suffixButton?: ISelectButtonConfig; dataIsDefaultSelected: boolean; dropdownStyle?: CSSProperties; valueFieldName: string; search?: ISelectSearchItem[]; searchValue?: string; columns?: ISelectColumnProps[]; pagination?: TablePaginationConfig; controllerId?: string | undefined; } export declare type SelectActionType = SelectBaseControlActionType | 'handleSearch' | 'updateDropdownStyle' | 'setAddRowBtn2Display' | 'buttonClickAfter' | 'buttonClickDone' | 'contentClickAfter' | 'updateButtonLoad'; export declare type SelectEventType = SelectBaseControlEventType | 'onSuffixButtonBeforeClick' | 'onSuffixButtonAfterClick'; export interface ISelectValueChangeArg extends ISelectBaseValueChangeArg { } export {};