@uplink-protocol/calendar-controller
Version:
Flexible calendar and time picker API supporting both calendar, date-picker, and time-picker integrations for any JavaScript framework or library
370 lines (187 loc) • 10.2 kB
Markdown
[**@uplink-protocol/form-controller v0.3.1**](../README.md)
***
[@uplink-protocol/form-controller](../globals.md) / CalendarControllerInterface
# Interface: CalendarControllerInterface
Defined in: [Date/controller.ts:71](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L71)
CalendarControllerClass - Pure Orchestrator
This controller is a thin orchestration layer that delegates ALL logic
to specialized coordinators. It contains NO business logic itself.
Architecture:
- Services: Low-level operations (date manipulation, formatting, etc.)
- Coordinators: Business logic and state management
- Controller: Public API facade and delegation
## Extends
- [`TypedCalendarController`](TypedCalendarController.md)
## Properties
### \_currentDate
> **\_currentDate**: `Date`
Defined in: [Date/controller.ts:72](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L72)
***
### \_currentYearRangeBase
> **\_currentYearRangeBase**: `number`
Defined in: [Date/controller.ts:87](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L87)
***
### \_dateFormat
> **\_dateFormat**: `string` \| `null`
Defined in: [Date/controller.ts:81](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L81)
***
### \_dateFormatOptions
> **\_dateFormatOptions**: `DateTimeFormatOptions` \| `null`
Defined in: [Date/controller.ts:85](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L85)
***
### \_disabledDates
> **\_disabledDates**: `Date`[]
Defined in: [Date/controller.ts:78](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L78)
***
### \_disabledDaysOfWeek
> **\_disabledDaysOfWeek**: `number`[]
Defined in: [Date/controller.ts:79](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L79)
***
### \_firstDayOfWeek
> **\_firstDayOfWeek**: `number`
Defined in: [Date/controller.ts:80](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L80)
***
### \_focusedDate
> **\_focusedDate**: `Date` \| `null`
Defined in: [Date/controller.ts:75](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L75)
***
### \_hideOtherMonthDays
> **\_hideOtherMonthDays**: `boolean`
Defined in: [Date/controller.ts:83](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L83)
***
### \_isRangeSelection
> **\_isRangeSelection**: `boolean`
Defined in: [Date/controller.ts:82](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L82)
***
### \_locale
> **\_locale**: `string`
Defined in: [Date/controller.ts:84](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L84)
***
### \_maxDate
> **\_maxDate**: `Date` \| `null`
Defined in: [Date/controller.ts:77](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L77)
***
### \_minDate
> **\_minDate**: `Date` \| `null`
Defined in: [Date/controller.ts:76](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L76)
***
### \_selectedDate
> **\_selectedDate**: `Date` \| `null`
Defined in: [Date/controller.ts:73](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L73)
***
### \_selectedDateRange
> **\_selectedDateRange**: [`DateRange`](DateRange.md)
Defined in: [Date/controller.ts:74](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L74)
***
### \_yearRangeSize
> **\_yearRangeSize**: `number`
Defined in: [Date/controller.ts:86](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/controller.ts#L86)
***
### bindings
> **bindings**: [`CalendarControllerBindings`](CalendarControllerBindings.md)
Defined in: [Date/types/typed-calendar-controller.type.ts:12](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/types/typed-calendar-controller.type.ts#L12)
Reactive state bindings
#### Inherited from
[`TypedCalendarController`](TypedCalendarController.md).[`bindings`](TypedCalendarController.md#bindings)
***
### events
> **events**: [`CalendarControllerEvents`](CalendarControllerEvents.md)
Defined in: [Date/types/typed-calendar-controller.type.ts:18](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/types/typed-calendar-controller.type.ts#L18)
Event emitters
#### Inherited from
[`TypedCalendarController`](TypedCalendarController.md).[`events`](TypedCalendarController.md#events)
***
### methods
> **methods**: [`CalendarControllerMethods`](CalendarControllerMethods.md)
Defined in: [Date/types/typed-calendar-controller.type.ts:15](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/types/typed-calendar-controller.type.ts#L15)
Available methods
#### Inherited from
[`TypedCalendarController`](TypedCalendarController.md).[`methods`](TypedCalendarController.md#methods)
***
### options?
> `optional` **options**: [`CalendarOptions`](CalendarOptions.md)
Defined in: [Date/types/typed-calendar-controller.type.ts:21](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/types/typed-calendar-controller.type.ts#L21)
Calendar configuration options
#### Inherited from
[`TypedCalendarController`](TypedCalendarController.md).[`options`](TypedCalendarController.md#options)
***
### selectedDateRange
> **selectedDateRange**: `object`
Defined in: [Date/types/typed-calendar-controller.type.ts:35](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/types/typed-calendar-controller.type.ts#L35)
Selected date range with flexible property access
#### end
> **end**: `Date` \| `null`
#### endDate
> **endDate**: `Date` \| `null`
#### start
> **start**: `Date` \| `null`
#### startDate
> **startDate**: `Date` \| `null`
#### Inherited from
[`TypedCalendarController`](TypedCalendarController.md).[`selectedDateRange`](TypedCalendarController.md#selecteddaterange)
## Methods
### clearSelection()
> **clearSelection**(): `void`
Defined in: [Date/types/typed-calendar-controller.type.ts:30](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/types/typed-calendar-controller.type.ts#L30)
#### Returns
`void`
#### Inherited from
[`TypedCalendarController`](TypedCalendarController.md).[`clearSelection`](TypedCalendarController.md#clearselection)
***
### goToNextMonth()
> **goToNextMonth**(): `void`
Defined in: [Date/types/typed-calendar-controller.type.ts:26](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/types/typed-calendar-controller.type.ts#L26)
#### Returns
`void`
#### Inherited from
[`TypedCalendarController`](TypedCalendarController.md).[`goToNextMonth`](TypedCalendarController.md#gotonextmonth)
***
### goToNextYear()
> **goToNextYear**(): `void`
Defined in: [Date/types/typed-calendar-controller.type.ts:28](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/types/typed-calendar-controller.type.ts#L28)
#### Returns
`void`
#### Inherited from
[`TypedCalendarController`](TypedCalendarController.md).[`goToNextYear`](TypedCalendarController.md#gotonextyear)
***
### goToPreviousMonth()
> **goToPreviousMonth**(): `void`
Defined in: [Date/types/typed-calendar-controller.type.ts:27](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/types/typed-calendar-controller.type.ts#L27)
#### Returns
`void`
#### Inherited from
[`TypedCalendarController`](TypedCalendarController.md).[`goToPreviousMonth`](TypedCalendarController.md#gotopreviousmonth)
***
### goToPreviousYear()
> **goToPreviousYear**(): `void`
Defined in: [Date/types/typed-calendar-controller.type.ts:29](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/types/typed-calendar-controller.type.ts#L29)
#### Returns
`void`
#### Inherited from
[`TypedCalendarController`](TypedCalendarController.md).[`goToPreviousYear`](TypedCalendarController.md#gotopreviousyear)
***
### selectDate()
> **selectDate**(`yearOrDate`, `month?`, `day?`): `void`
Defined in: [Date/types/typed-calendar-controller.type.ts:25](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/types/typed-calendar-controller.type.ts#L25)
#### Parameters
##### yearOrDate
`number` | `Date`
##### month?
`number`
##### day?
`number`
#### Returns
`void`
#### Inherited from
[`TypedCalendarController`](TypedCalendarController.md).[`selectDate`](TypedCalendarController.md#selectdate)
***
### setRangeSelectionMode()
> **setRangeSelectionMode**(`isRange`): `void`
Defined in: [Date/types/typed-calendar-controller.type.ts:31](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/types/typed-calendar-controller.type.ts#L31)
#### Parameters
##### isRange
`boolean`
#### Returns
`void`
#### Inherited from
[`TypedCalendarController`](TypedCalendarController.md).[`setRangeSelectionMode`](TypedCalendarController.md#setrangeselectionmode)