UNPKG

@freezesoul/nz-formly

Version:

基于ng-zorro-antd UI 扩展的ngx-formly组件库

180 lines (179 loc) 5.63 kB
import { ControlOptions, NzFormlyFieldConfig } from '@freezesoul/nz-formly/common'; import { TemplateRef } from '@angular/core'; import { FunctionProp, NzSafeAny } from 'ng-zorro-antd/core/types'; import { BaseBetweenOptions } from '@freezesoul/nz-formly/between-input'; import { CompatibleDate, NzDateMode, SupportTimeOptions } from 'ng-zorro-antd/date-picker'; import { NzDatePickerI18nInterface } from 'ng-zorro-antd/i18n'; import { NzxBetweenDatetimeComponent, DisabledDateType } from '@freezesoul/nzx-antd/between-datetime'; /** * BetweenDatetime模板配置 */ export interface BaseBetweenDatetimeOptions<T> extends ControlOptions { nzMode?: NzDateMode; /** * 开始字段Placeholder */ nzxStartPlaceholder?: string | string[]; /** * 结束字段Placeholder */ nzxEndPlaceholder?: string | string[]; /** * 开始字段重命名 */ nzxStartReName?: string; /** * 结束字段重命名 */ nzxEndReName?: string; /** * 组件内部 input 的 id 值 */ nzxStartId?: string; /** * 组件内部 input 的 id 值 */ nzxEndId?: string; /** * 是否显示清除按钮 */ nzxStartAllowClear?: boolean; /** * 是否显示清除按钮 */ nzxEndAllowClear?: boolean; /** * 自动获取焦点 */ nzxStartAutoFocus?: boolean; /** * 自动获取焦点 */ nzxEndAutoFocus?: boolean; /** * 浮层是否应带有背景板 */ nzxStartBackdrop?: boolean; /** * 浮层是否应带有背景板 */ nzxEndBackdrop?: boolean; /** * 默认面板日期 */ nzxStartDefaultPickerValue?: Date; /** * 默认面板日期 */ nzxEndDefaultPickerValue?: Date; nzxStartShowNow?: boolean; nzxEndShowNow?: boolean; nzShowToday?: boolean; nzxStartShowToday?: boolean; nzxEndShowToday?: boolean; nzShowTime: SupportTimeOptions | boolean; nzxStartShowTime?: SupportTimeOptions | boolean; nzxEndShowTime?: SupportTimeOptions | boolean; /** * 额外的弹出日历 className */ nzxStartDropdownClassName?: string; /** * 额外的弹出日历 className */ nzxEndDropdownClassName?: string; /** * 展示的日期格式,见nzFormat特别说明 */ nzFormat?: string; /** * 为 input 标签设置只读属性(避免在移动设备上触发小键盘) */ nzxStartInputReadOnly?: boolean; /** * 为 input 标签设置只读属性(避免在移动设备上触发小键盘) */ nzxEndInputReadOnly?: boolean; /** * 国际化配置 */ nzLocale?: NzDatePickerI18nInterface; /** * 额外的弹出日历样式 */ nzxStartPopupStyle?: object; /** * 额外的弹出日历样式 */ nzxEndPopupStyle?: object; /** * 在面板中添加额外的页脚 */ nzxStartRenderExtraFooter?: TemplateRef<NzSafeAny> | string | FunctionProp<TemplateRef<NzSafeAny> | string>; /** * 在面板中添加额外的页脚 */ nzxEndRenderExtraFooter?: TemplateRef<NzSafeAny> | string | FunctionProp<TemplateRef<NzSafeAny> | string>; /** * 自定义的后缀图标 */ nzxStartSuffixIcon?: string | TemplateRef<NzSafeAny>; /** * 自定义的后缀图标 */ nzxEndSuffixIcon?: string | TemplateRef<NzSafeAny>; nzxStartDateRender?: TemplateRef<NzSafeAny> | string | FunctionProp<TemplateRef<Date> | string>; nzxEndDateRender?: TemplateRef<NzSafeAny> | string | FunctionProp<TemplateRef<Date> | string>; /** * 弹出日历和关闭日历的回调 */ nzxStartOnOpenChange?: (evt: boolean, field: NzFormlyFieldConfig<BetweenDatetimeOptions>, instance: T) => void; /** * 弹出日历和关闭日历的回调 */ nzxEndOnOpenChange?: (evt: boolean, field: NzFormlyFieldConfig<BetweenDatetimeOptions>, instance: T) => void; /** * OK按钮点击 */ nzxStartOnOk?: (evt: CompatibleDate | null, field: NzFormlyFieldConfig<BetweenDatetimeOptions>, instance: T) => void; /** * OK按钮点击 */ nzxEndOnOk?: (evt: CompatibleDate | null, field: NzFormlyFieldConfig<BetweenDatetimeOptions>, instance: T) => void; /** * 待选日期发生变化的回调 */ nzxStartOnCalendarChange?: (evt: (Date | null)[], field: NzFormlyFieldConfig<BetweenDatetimeOptions>, instance: T) => void; /** * 待选日期发生变化的回调 */ nzxEndOnCalendarChange?: (evt: (Date | null)[], field: NzFormlyFieldConfig<BetweenDatetimeOptions>, instance: T) => void; /** * 待选日期发生变化的回调 */ nzxStartOnPanelChange?: (evt: string | NzDateMode[] | string[], field: NzFormlyFieldConfig<BetweenDatetimeOptions>, instance: T) => void; /** * 待选日期发生变化的回调 */ nzxEndOnPanelChange?: (evt: string | NzDateMode[] | string[], field: NzFormlyFieldConfig<BetweenDatetimeOptions>, instance: T) => void; /** * 最小时间 */ startMinDateTime?: DisabledDateType; /** * 最大时间 */ endMaxDateTime?: DisabledDateType; /** * 最大时间 */ startMaxDateTime?: DisabledDateType; /** * 最小时间 */ endMinDateTime?: DisabledDateType; } export type BetweenDatetimeOptions = BaseBetweenDatetimeOptions<NzxBetweenDatetimeComponent> & BaseBetweenOptions; export interface BetweenDateTimeFieldConfig extends NzFormlyFieldConfig<BetweenDatetimeOptions> { type: 'between-datetime'; }