import ComplexSearch from '.'; import { IState } from '@mjcloud/redux'; import { IControlBaseProps } from '../base'; import Store, { IInitialStateParams } from '@mjcloud/redux'; import { IEventArg } from '@mjcloud/utils/dist/events/eventListening'; import { Filter, OperationTypeEnum, DataTypeEnum } from '@mjcloud/utils'; import { ContainerControlActionType } from '@mjcloud/instance/dist/containerInstanceBase'; import { ControlConfig, XmlList, IControlSetConfig, XmlNode, IDictionary } from '@mjcloud/types'; export declare type ComplexSearchActionType = ContainerControlActionType | 'updateValue' | 'updateExpand' | 'updateAdvancedItems' | 'updateAdvancedHeight' | 'updateAdvancedWidth' | 'deleteAdvancedItem' | 'find'; export interface IComplexSearchUpdateAdvancedItemsParams { advancedFilterItems: IDictionary; advancedItems: IDictionary; } export interface IComplexSearchUpdateValueParams { value: string | undefined; } export interface IComplexSearchFindParams { value: string | undefined; standardFilter?: Filter; isReset?: boolean; expand?: boolean; } export declare type ComplexSearchEventType = 'find'; export interface IComplexSearchFindData { filter: Filter; standardFilter?: Filter; advancedFilterItems?: IDictionary; } export interface IComplexSearchFindArg extends IEventArg { } export interface IComplexSearchItem { title: string; left: string; } export interface IComplexSearchAdvancedConfig extends XmlNode { id: string; title: string; index?: number; op?: OperationTypeEnum; dbType?: DataTypeEnum; /** * 控件配置,若为可则表示该控件配置位于页面下 */ control: ControlConfig; } export interface IComplexSearchConfig extends IControlSetConfig { tip?: string; expand: boolean; searchText: string; standard?: XmlList; advanced?: XmlList; } export interface IComplexSearchInitialStateParams extends IInitialStateParams { advanced: IComplexSearchAdvancedState[]; } export interface IComplexSearchAdvancedState { id: string; title: string; index: number; op: OperationTypeEnum; dbType: DataTypeEnum; controls: Store; controlProps: IControlBaseProps; } export interface IComplexSearchAdvancedData { id: string; title: string; value: any; text?: string; } export interface IComplexSearchState extends IState { _filter: Filter; _nowValue: string | undefined; expand: boolean; searchText: string; placeholder: string; advancedHeight: number; advancedWidth: number; items: IComplexSearchItem[]; searchValue: string | undefined; selectedItems?: IComplexSearchAdvancedData[]; deleting?: boolean; advanced: IComplexSearchAdvancedState[]; advancedItems: IDictionary; advancedFilterItems: IDictionary; }