magner
Version:
Universal admin panel magnetic to any backend
38 lines (37 loc) • 1.8 kB
TypeScript
import type { TranslateData } from '../../../utils/core/translate';
import type { BaseField, BaseProps } from '../base';
export interface DateTimeProps<ENTITY extends {}> extends BaseProps<ENTITY> {
/** Type of the DateTime picker. Please, refer to the https://element-plus.org/#/en-US/component/datetime-picker */
type: 'year' | 'month' | 'date' | 'dates' | 'datetime' | 'week' | 'datetimerange' | 'daterange' | 'monthrange' | 'time' | 'timerange';
/** Format of the displayed value in the input box */
format?: string;
/** Format of the value emitted from the DateTime picker */
valueFormat?: string;
/** Placeholder in non-range mode */
placeholder?: TranslateData;
/** Placeholder for the start date in range mode */
startPlaceholder?: TranslateData;
/** Placeholder for the end date in range mode */
endPlaceholder?: TranslateData;
/** Whether the input is editable. Default is 'true' */
editable?: boolean;
/** Popper class name */
popperClass?: string;
/** Range separator. Default is '-' */
rangeSeparator?: string;
/** Optional, default date of the calendar */
defaultValue?: Date;
/** Default time value after picking a date. If non-range, just Date. If range, array of two Dates */
defaultTime?: Date | [Date, Date];
/** Allow both panels of the picker select month and year independently of each other */
unlinkPanels?: boolean;
/** Whether to show clear button */
clearable?: boolean;
/** Function determining if a date is disabled with that date as its parameter. */
disabledDate?: (time: Date) => boolean;
}
export interface DateTimeField<ENTITY extends {}> extends BaseField<ENTITY> {
type: 'datetime';
dataType: 'date' | 'array';
props: DateTimeProps<ENTITY>;
}