import { AfterContentInit, ChangeDetectorRef, EventEmitter } from '@angular/core'; import { SimDateAdapter } from '@ngx-simple/core/datetime'; import { CalendarCell, CalendarUserEvent, SimCalendarBodyComponent, SimCalendarCellClassFunction } from './calendar-body.component'; import { SimDateRangeSelectionStrategy } from './date-range-selection-strategy'; import { DateRange } from './date-selection-model'; import { DateFilterFn } from './datepicker-input-base'; /** 一个内部组件,用于在日期选择器中显示一个月。 */ export declare class SimWeekViewComponent implements AfterContentInit { private _changeDetectorRef; _dateAdapter: SimDateAdapter; private _rangeStrategy?; /** * 在本月视图中显示的日期(忽略月份和年份以外的所有内容). */ get activeDate(): D; set activeDate(value: D); /** 当前选择的日期. */ get selected(): DateRange | D | null; set selected(value: DateRange | D | null); /** 最小选择日期 */ get minDate(): D | null; set minDate(value: D | null); /** 最大选择日期 */ get maxDate(): D | null; set maxDate(value: D | null); /** 用于过滤哪些日期可选的函数 */ dateFilter: DateFilterFn; dateClass: SimCalendarCellClassFunction; /** 比较范围的开始 */ comparisonStart: D | null; /** 比较范围的结束 */ comparisonEnd: D | null; rangeMode: boolean; format: string; /** 选择新月份时发出 */ readonly selectedChange: EventEmitter; /** 选择任何日期时发出 */ readonly userSelection: EventEmitter>; /** 在激活任何日期时发出 */ readonly activeDateChange: EventEmitter; _calendarBody: SimCalendarBodyComponent; /** * 当前选择的日期所对应的月份的日期。如果当前选择的日期在另一个月,则为空。 */ _selectedDate: number | null; /** 日期数据 */ _weeks: CalendarCell[][]; /** 工作日的名称 */ _weekdays: Array<{ long: string; narrow: string; }>; /** 当前显示的日期范围的开始值 */ _rangeStart: number | null; /** 当前显示的日期范围的结束值 */ _rangeEnd: number | null; /** 当前显示的比较日期范围的开始值 */ _comparisonRangeStart: number | null; /** 当前显示的比较日期范围的结束值 */ _comparisonRangeEnd: number | null; /** 预览范围的开 */ _previewStart: number | null; /** 预览范围结束 */ _previewEnd: number | null; /** 用户当前是否选择日期范围 */ _isRange: boolean; /** 今天是某月某日。如果今天是另一个月,则为Null */ _todayDate: number | null; private _selected; private _activeDate; private _minDate; private _maxDate; constructor(_changeDetectorRef: ChangeDetectorRef, _dateAdapter: SimDateAdapter, _rangeStrategy?: SimDateRangeSelectionStrategy); ngAfterContentInit(): void; _init(): void; /** 当用户激活新单元格并且需要更新预览时调用 */ _previewChanged({ event, value: cell }: CalendarUserEvent | null>): void; /** 选择新周时处理 */ _dateSelected(event: CalendarUserEvent): void; _focusActiveCell(): void; /** 当日历处于多年视图中时,处理日历主体上的按键事件 */ _handleCalendarBodyKeydown(event: KeyboardEvent): void; private _createWeekCells; private mergeDateClass; /** 为本月的日期创建日历单元格 */ private changeValueFromInside; /** 月份的日期过滤器 */ private _shouldEnableDate; /** * Gets the date in this month that the given Date falls on. * Returns null if the given Date is in another month. */ private _getDateInCurrentMonth; /** Checks whether the 2 dates are non-null and fall within the same month of the same year. */ private _hasSameMonthAndYear; private isBeforeMonthYear; private isAfterMonthYear; /** 初始化工作日 */ private _initWeekdays; /** 获取将用于一个单元格到另一个单元格的值 */ private _getCellCompareValue; /** 根据模型值设置当前范围 */ private _setRanges; }