UNPKG

@uplink-protocol/calendar-controller

Version:

Flexible calendar API supporting both calendar and date-picker integrations for any JavaScript framework or library

405 lines (203 loc) 7.83 kB
[**@uplink-protocol/form-controller v0.2.1**](../README.md) *** [@uplink-protocol/form-controller](../globals.md) / ICalendarStateService # Interface: ICalendarStateService Defined in: [interfaces/calendar-state.service.interfaces.ts:9](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/interfaces/calendar-state.service.interfaces.ts#L9) Interface for the CalendarStateService Responsible for managing calendar state and coordinating with other services ## Methods ### addDisabledDate() > **addDisabledDate**(`date`, `disabledDates`, `calendarDaysBinding`, `generateCalendarDaysFn`): `Date`[] Defined in: [interfaces/calendar-state.service.interfaces.ts:63](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/interfaces/calendar-state.service.interfaces.ts#L63) Add a specific date to the disabled dates list #### Parameters ##### date `Date` ##### disabledDates `Date`[] ##### calendarDaysBinding `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> ##### generateCalendarDaysFn () => [`CalendarDate`](CalendarDate.md)[] #### Returns `Date`[] *** ### clearSelection() > **clearSelection**(`isRangeSelection`, `selectedDateBinding`, `selectedDateRangeBinding`, `calendarDaysBinding`, `generateCalendarDaysFn`): `object` Defined in: [interfaces/calendar-state.service.interfaces.ts:93](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/interfaces/calendar-state.service.interfaces.ts#L93) Clear the current selection #### Parameters ##### isRangeSelection `boolean` ##### selectedDateBinding `Binding`\<`null` \| `Date`\> ##### selectedDateRangeBinding `Binding`\<[`DateRange`](DateRange.md)\> ##### calendarDaysBinding `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> ##### generateCalendarDaysFn () => [`CalendarDate`](CalendarDate.md)[] #### Returns `object` ##### selectedDate > **selectedDate**: `null` \| `Date` ##### selectedDateRange > **selectedDateRange**: [`DateRange`](DateRange.md) *** ### focusDate() > **focusDate**(`date`, `focusedDateBinding`): `null` \| `Date` Defined in: [interfaces/calendar-state.service.interfaces.ts:126](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/interfaces/calendar-state.service.interfaces.ts#L126) Focus a specific date for accessibility #### Parameters ##### date `null` | `Date` ##### focusedDateBinding `Binding`\<`null` \| `Date`\> #### Returns `null` \| `Date` *** ### removeDisabledDate() > **removeDisabledDate**(`date`, `disabledDates`, `calendarDaysBinding`, `generateCalendarDaysFn`): `Date`[] Defined in: [interfaces/calendar-state.service.interfaces.ts:73](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/interfaces/calendar-state.service.interfaces.ts#L73) Remove a specific date from the disabled dates list #### Parameters ##### date `Date` ##### disabledDates `Date`[] ##### calendarDaysBinding `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> ##### generateCalendarDaysFn () => [`CalendarDate`](CalendarDate.md)[] #### Returns `Date`[] *** ### selectDate() > **selectDate**(`date`, `isRangeSelection`, `currentSelectedDate`, `currentDateRange`, `isDateDisabledFn`, `bindings`, `events`, `generateCalendarDaysFn`): `object` Defined in: [interfaces/calendar-state.service.interfaces.ts:104](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/interfaces/calendar-state.service.interfaces.ts#L104) Select a date based on the current selection mode #### Parameters ##### date `Date` ##### isRangeSelection `boolean` ##### currentSelectedDate `null` | `Date` ##### currentDateRange [`DateRange`](DateRange.md) ##### isDateDisabledFn (`date`) => `boolean` ##### bindings ###### calendarDays `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> ###### focusedDate `Binding`\<`null` \| `Date`\> ###### selectedDate `Binding`\<`null` \| `Date`\> ###### selectedDateRange `Binding`\<[`DateRange`](DateRange.md)\> ##### events `undefined` | \{ `dateRangeSelected?`: `EventEmitter`\<[`DateRange`](DateRange.md)\>; `dateSelected?`: `EventEmitter`\<`Date`\>; \} ##### generateCalendarDaysFn () => [`CalendarDate`](CalendarDate.md)[] #### Returns `object` ##### selectedDate > **selectedDate**: `null` \| `Date` ##### selectedDateRange > **selectedDateRange**: [`DateRange`](DateRange.md) *** ### setDisabledDates() > **setDisabledDates**(`dates`, `currentDate`, `bindings`, `getMonthNameFn`, `generateCalendarDaysFn`): `Date`[] Defined in: [interfaces/calendar-state.service.interfaces.ts:47](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/interfaces/calendar-state.service.interfaces.ts#L47) Set disabled dates #### Parameters ##### dates `Date`[] ##### currentDate `Date` ##### bindings ###### calendarDays `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> ###### currentMonth `Binding`\<`number`\> ###### currentYear `Binding`\<`number`\> ###### monthName `Binding`\<`string`\> ##### getMonthNameFn (`month`) => `string` ##### generateCalendarDaysFn () => [`CalendarDate`](CalendarDate.md)[] #### Returns `Date`[] *** ### setMaxDate() > **setMaxDate**(`date`, `currentMaxDate`, `currentDate`, `bindings`, `getMonthNameFn`, `generateCalendarDaysFn`): `null` \| `Date` Defined in: [interfaces/calendar-state.service.interfaces.ts:30](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/interfaces/calendar-state.service.interfaces.ts#L30) Set the maximum selectable date #### Parameters ##### date `null` | `Date` ##### currentMaxDate `null` | `Date` ##### currentDate `Date` ##### bindings ###### calendarDays `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> ###### currentMonth `Binding`\<`number`\> ###### currentYear `Binding`\<`number`\> ###### monthName `Binding`\<`string`\> ##### getMonthNameFn (`month`) => `string` ##### generateCalendarDaysFn () => [`CalendarDate`](CalendarDate.md)[] #### Returns `null` \| `Date` *** ### setMinDate() > **setMinDate**(`date`, `currentMinDate`, `currentDate`, `bindings`, `getMonthNameFn`, `generateCalendarDaysFn`): `null` \| `Date` Defined in: [interfaces/calendar-state.service.interfaces.ts:13](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/interfaces/calendar-state.service.interfaces.ts#L13) Set the minimum selectable date #### Parameters ##### date `null` | `Date` ##### currentMinDate `null` | `Date` ##### currentDate `Date` ##### bindings ###### calendarDays `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> ###### currentMonth `Binding`\<`number`\> ###### currentYear `Binding`\<`number`\> ###### monthName `Binding`\<`string`\> ##### getMonthNameFn (`month`) => `string` ##### generateCalendarDaysFn () => [`CalendarDate`](CalendarDate.md)[] #### Returns `null` \| `Date` *** ### setRangeSelectionMode() > **setRangeSelectionMode**(`isRange`, `isRangeSelectionBinding`, `calendarDaysBinding`, `generateCalendarDaysFn`): `boolean` Defined in: [interfaces/calendar-state.service.interfaces.ts:83](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/interfaces/calendar-state.service.interfaces.ts#L83) Set the date selection mode #### Parameters ##### isRange `boolean` ##### isRangeSelectionBinding `Binding`\<`boolean`\> ##### calendarDaysBinding `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> ##### generateCalendarDaysFn () => [`CalendarDate`](CalendarDate.md)[] #### Returns `boolean`