UNPKG

3.42 kBTypeScriptView Raw
1/**
2 * @license
3 * Copyright Akveo. All Rights Reserved.
4 * Licensed under the MIT License. See License.txt in the project root for license information.
5 */
6import { EventEmitter, OnInit, Type } from '@angular/core';
7import { NbCalendarYearModelService } from '../calendar-kit/services/calendar-year-model.service';
8import { NbCalendarCell, NbCalendarSize, NbCalendarViewMode, NbCalendarSizeValues, NbCalendarViewModeValues } from '../calendar-kit/model';
9import { NbDateService } from '../calendar-kit/services/date.service';
10import { NbBooleanInput } from '../helpers';
11/**
12 * The basis for calendar and range calendar components.
13 * Encapsulates common behavior - store calendar state and perform navigation
14 * between pickers.
15 * */
16export declare class NbBaseCalendarComponent<D, T> implements OnInit {
17 protected dateService: NbDateService<D>;
18 protected yearModelService: NbCalendarYearModelService<D>;
19 /**
20 * Defines if we should render previous and next months
21 * in the current month view.
22 * */
23 boundingMonth: boolean;
24 /**
25 * Defines active view for calendar.
26 * */
27 activeViewMode: NbCalendarViewMode;
28 static ngAcceptInputType_activeViewMode: NbCalendarViewModeValues;
29 /**
30 * Minimum available date for selection.
31 * */
32 min: D;
33 /**
34 * Maximum available date for selection.
35 * */
36 max: D;
37 /**
38 * Predicate that decides which cells will be disabled.
39 * */
40 filter: (D: any) => boolean;
41 /**
42 * Custom day cell component. Have to implement `NbCalendarCell` interface.
43 * */
44 dayCellComponent: Type<NbCalendarCell<D, T>>;
45 /**
46 * Custom month cell component. Have to implement `NbCalendarCell` interface.
47 * */
48 monthCellComponent: Type<NbCalendarCell<D, T>>;
49 /**
50 * Custom year cell component. Have to implement `NbCalendarCell` interface.
51 * */
52 yearCellComponent: Type<NbCalendarCell<D, T>>;
53 /**
54 * Size of the calendar and entire components.
55 * Can be 'medium' which is default or 'large'.
56 * */
57 size: NbCalendarSize;
58 static ngAcceptInputType_size: NbCalendarSizeValues;
59 visibleDate: D;
60 /**
61 * Determines whether we should show calendar navigation or not.
62 * */
63 showNavigation: boolean;
64 /**
65 * Value which will be rendered as selected.
66 * */
67 date: T;
68 /**
69 * Determines should we show week numbers column.
70 * False by default.
71 * */
72 get showWeekNumber(): boolean;
73 set showWeekNumber(value: boolean);
74 protected _showWeekNumber: boolean;
75 static ngAcceptInputType_showWeekNumber: NbBooleanInput;
76 /**
77 * Sets symbol used as a header for week numbers column
78 * */
79 weekNumberSymbol: string;
80 /**
81 * Emits date when selected.
82 * */
83 dateChange: EventEmitter<T>;
84 constructor(dateService: NbDateService<D>, yearModelService: NbCalendarYearModelService<D>);
85 ngOnInit(): void;
86 get large(): boolean;
87 ViewMode: typeof NbCalendarViewMode;
88 setViewMode(viewMode: NbCalendarViewMode): void;
89 setVisibleDate(visibleDate: D): void;
90 prevMonth(): void;
91 nextMonth(): void;
92 prevYear(): void;
93 nextYear(): void;
94 prevYears(): void;
95 nextYears(): void;
96 navigatePrev(): void;
97 navigateNext(): void;
98 onChangeViewMode(): void;
99 private changeVisibleMonth;
100 private changeVisibleYear;
101 private changeVisibleYears;
102}