UNPKG

@uplink-protocol/calendar-controller

Version:

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

383 lines (192 loc) 8.19 kB
[**@uplink-protocol/form-controller v0.2.1**](../README.md) *** [@uplink-protocol/form-controller](../globals.md) / ViewStateService # Class: ViewStateService Defined in: [services/view-state.service.ts:9](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/view-state.service.ts#L9) Implementation of ViewStateService Responsible for managing calendar view state and binding updates ## Implements - [`IViewStateService`](../interfaces/IViewStateService.md) ## Constructors ### Constructor > **new ViewStateService**(): `ViewStateService` #### Returns `ViewStateService` ## Methods ### initializeBindings() > **initializeBindings**(`currentDate`, `selectedDate`, `selectedDateRange`, `firstDayOfWeek`, `isRangeSelection`, `calendarDaysGenerator`, `calendarMonthsGenerator`, `calendarYearsGenerator`): `object` Defined in: [services/view-state.service.ts:13](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/view-state.service.ts#L13) Initialize view state bindings #### Parameters ##### currentDate `Date` ##### selectedDate `null` | `Date` ##### selectedDateRange [`DateRange`](../interfaces/DateRange.md) ##### firstDayOfWeek `number` ##### isRangeSelection `boolean` ##### calendarDaysGenerator () => [`CalendarDate`](../interfaces/CalendarDate.md)[] ##### calendarMonthsGenerator () => [`CalendarMonth`](../interfaces/CalendarMonth.md)[] ##### calendarYearsGenerator () => [`CalendarYear`](../interfaces/CalendarYear.md)[] #### Returns `object` ##### calendarDays > **calendarDays**: `Binding`\<[`CalendarDate`](../interfaces/CalendarDate.md)[]\> ##### calendarMonths > **calendarMonths**: `Binding`\<[`CalendarMonth`](../interfaces/CalendarMonth.md)[]\> ##### calendarYears > **calendarYears**: `Binding`\<[`CalendarYear`](../interfaces/CalendarYear.md)[]\> ##### currentDate > **currentDate**: `Binding`\<`Date`\> ##### currentMonth > **currentMonth**: `Binding`\<`number`\> ##### currentYear > **currentYear**: `Binding`\<`number`\> ##### currentYearRangeBase > **currentYearRangeBase**: `Binding`\<`number` \| [`YearRange`](../interfaces/YearRange.md)\> ##### focusedDate > **focusedDate**: `Binding`\<`null` \| `Date`\> ##### isRangeSelection > **isRangeSelection**: `Binding`\<`boolean`\> ##### monthName > **monthName**: `Binding`\<`string`\> ##### selectedDate > **selectedDate**: `Binding`\<`null` \| `Date`\> ##### selectedDateRange > **selectedDateRange**: `Binding`\<[`DateRange`](../interfaces/DateRange.md)\> ##### weekdays > **weekdays**: `Binding`\<`string`[]\> #### Implementation of [`IViewStateService`](../interfaces/IViewStateService.md).[`initializeBindings`](../interfaces/IViewStateService.md#initializebindings) *** ### updateCalendarDays() > **updateCalendarDays**(`calendarDays`, `binding`): `void` Defined in: [services/view-state.service.ts:157](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/view-state.service.ts#L157) Update calendarDays binding with new calendar days #### Parameters ##### calendarDays [`CalendarDate`](../interfaces/CalendarDate.md)[] ##### binding `Binding`\<[`CalendarDate`](../interfaces/CalendarDate.md)[]\> #### Returns `void` #### Implementation of [`IViewStateService`](../interfaces/IViewStateService.md).[`updateCalendarDays`](../interfaces/IViewStateService.md#updatecalendardays) *** ### updateCurrentDate() > **updateCurrentDate**(`date`, `arg2`, `arg3`, `arg4`, `arg5?`, `arg6?`, `arg7?`): `object` Defined in: [services/view-state.service.ts:58](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/view-state.service.ts#L58) Update current date in view state #### Parameters ##### date `Date` ##### arg2 `any` ##### arg3 `any` ##### arg4 `any` ##### arg5? `any` ##### arg6? `any` ##### arg7? `any` #### Returns `object` ##### month > **month**: `number` ##### year > **year**: `number` #### Implementation of [`IViewStateService`](../interfaces/IViewStateService.md).[`updateCurrentDate`](../interfaces/IViewStateService.md#updatecurrentdate) *** ### updateDateRange() > **updateDateRange**(`range`, `binding`, `calendarDaysBinding`, `generateCalendarDays`): `void` Defined in: [services/view-state.service.ts:121](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/view-state.service.ts#L121) Update date range bindings #### Parameters ##### range [`DateRange`](../interfaces/DateRange.md) ##### binding `Binding`\<[`DateRange`](../interfaces/DateRange.md)\> ##### calendarDaysBinding `Binding`\<[`CalendarDate`](../interfaces/CalendarDate.md)[]\> ##### generateCalendarDays () => [`CalendarDate`](../interfaces/CalendarDate.md)[] #### Returns `void` #### Implementation of [`IViewStateService`](../interfaces/IViewStateService.md).[`updateDateRange`](../interfaces/IViewStateService.md#updatedaterange) *** ### updateFocusedDate() > **updateFocusedDate**(`date`, `focusedDateBindingOrCalendarDaysBinding?`, `generateCalendarDays?`): `void` Defined in: [services/view-state.service.ts:167](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/view-state.service.ts#L167) Update focused date #### Parameters ##### date `null` | `Date` ##### focusedDateBindingOrCalendarDaysBinding? `Binding`\<[`CalendarDate`](../interfaces/CalendarDate.md)[]\> | `Binding`\<`null` \| `Date`\> ##### generateCalendarDays? () => [`CalendarDate`](../interfaces/CalendarDate.md)[] #### Returns `void` #### Implementation of [`IViewStateService`](../interfaces/IViewStateService.md).[`updateFocusedDate`](../interfaces/IViewStateService.md#updatefocuseddate) *** ### updateSelectedDate() > **updateSelectedDate**(`date`, `binding`, `calendarDaysBinding?`, `generateCalendarDays?`): `void` Defined in: [services/view-state.service.ts:106](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/view-state.service.ts#L106) Update selected date bindings #### Parameters ##### date `null` | `Date` ##### binding `Binding`\<`null` \| `Date`\> ##### calendarDaysBinding? `Binding`\<[`CalendarDate`](../interfaces/CalendarDate.md)[]\> ##### generateCalendarDays? () => [`CalendarDate`](../interfaces/CalendarDate.md)[] #### Returns `void` #### Implementation of [`IViewStateService`](../interfaces/IViewStateService.md).[`updateSelectedDate`](../interfaces/IViewStateService.md#updateselecteddate) *** ### updateSelectedDateRange() > **updateSelectedDateRange**(`range`, `binding`): `void` Defined in: [services/view-state.service.ts:147](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/view-state.service.ts#L147) Update selectedDateRange binding with new range #### Parameters ##### range [`DateRange`](../interfaces/DateRange.md) ##### binding `Binding`\<[`DateRange`](../interfaces/DateRange.md)\> #### Returns `void` #### Implementation of [`IViewStateService`](../interfaces/IViewStateService.md).[`updateSelectedDateRange`](../interfaces/IViewStateService.md#updateselecteddaterange) *** ### updateSelectionMode() > **updateSelectionMode**(`isRange`, `binding`, `calendarDaysBinding`, `generateCalendarDays`): `void` Defined in: [services/view-state.service.ts:134](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/view-state.service.ts#L134) Update selection mode #### Parameters ##### isRange `boolean` ##### binding `Binding`\<`boolean`\> ##### calendarDaysBinding `Binding`\<[`CalendarDate`](../interfaces/CalendarDate.md)[]\> ##### generateCalendarDays () => [`CalendarDate`](../interfaces/CalendarDate.md)[] #### Returns `void` #### Implementation of [`IViewStateService`](../interfaces/IViewStateService.md).[`updateSelectionMode`](../interfaces/IViewStateService.md#updateselectionmode)