/*
 * @Author: xiaobo
 * @Description:
 * @Date: 2021-04-22 15:15:24
 * @LastEditTime: 2021-07-20 20:27:25
 * @FilePath: \imcas-v2\src\components\search-condition-bar\type.ts
 */
import { keyConfigType } from "../utils";
export interface conditionBarItemType {
  // 主键
  key: string;
  label?: string;
  // 展示label的key值
  labelKey?: string;
  type:
    | "es-search-cascader"
    | "es-search-date-range-picker"
    | "es-search-date-picker"
    | "es-search-input"
    | "es-search-input-number"
    | "es-search-input-number-range"
    | "es-search-option"
    | "es-search-option-group"
    | "es-search-condition-more"
    | "es-search-single-date-picker";
  // 筛选input的placeholder
  placeholder?: string;
  // 筛选input的prependText
  prependText?: string;
  // 当值为空是展示的value
  defaultValue?: string;
  // type 为es-search-cascader | es-search-option 有效
  source?: any[];
  // type 为es-search-cascader | es-search-option 有效
  multiple?: boolean;
  // type 为es-search-cascader | es-search-option 有效
  keyConfig?: keyConfigType;
  // 是否展示
  show?: boolean;
  // es-search-date-range-picker 组件type属性
  dateRangePickerType: "daterange" | "datetimerange";
  // es-search-date-picker 组件type属性
  datePickerType: "year" | "month" | "monthrange";
  // es-search-single-date-picker 组件type属性
  singleDatePickerType: "date" | "datetime";
  // 自定义label展示 暂时只对es-search-input-number有效
  labelFormat?: (...args: any[]) => void;
  //级联关联选择
  checkStrictly?: boolean;
  separator?: string;
  clear?: (...args: any[]) => void;
  done?: (...args: any[]) => void;
  close?: (...args: any[]) => void;
  // 抛出哪些事件
  emits?: ("clear" | "done" | "close")[];
}
export type conditionSourceType = conditionBarItemType[];
