UNPKG

@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

345 lines (173 loc) 7.41 kB
[**@uplink-protocol/form-controller v0.3.1**](../README.md) *** [@uplink-protocol/form-controller](../globals.md) / IViewStateService # Interface: IViewStateService Defined in: [Date/interfaces/view-state.service.interfaces.ts:8](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/view-state.service.interfaces.ts#L8) View state service interface Responsible for managing calendar view state and binding updates ## Methods ### initializeBindings() > **initializeBindings**(`currentDate`, `selectedDate`, `selectedDateRange`, `firstDayOfWeek`, `isRangeSelection`, `calendarDaysGenerator`, `calendarMonthsGenerator`, `calendarYearsGenerator`): `object` Defined in: [Date/interfaces/view-state.service.interfaces.ts:11](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/view-state.service.interfaces.ts#L11) Initialize view state bindings #### Parameters ##### currentDate `Date` ##### selectedDate `Date` | `null` ##### selectedDateRange [`DateRange`](DateRange.md) ##### firstDayOfWeek `number` ##### isRangeSelection `boolean` ##### calendarDaysGenerator () => [`CalendarDate`](CalendarDate.md)[] ##### calendarMonthsGenerator () => [`CalendarMonth`](CalendarMonth.md)[] ##### calendarYearsGenerator () => [`CalendarYear`](CalendarYear.md)[] #### Returns `object` ##### calendarDays > **calendarDays**: `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> ##### calendarMonths > **calendarMonths**: `Binding`\<[`CalendarMonth`](CalendarMonth.md)[]\> ##### calendarYears > **calendarYears**: `Binding`\<[`CalendarYear`](CalendarYear.md)[]\> ##### currentDate > **currentDate**: `Binding`\<`Date`\> ##### currentMonth > **currentMonth**: `Binding`\<`number`\> ##### currentYear > **currentYear**: `Binding`\<`number`\> ##### currentYearRangeBase > **currentYearRangeBase**: `Binding`\<`number` \| [`YearRange`](YearRange.md)\> ##### focusedDate > **focusedDate**: `Binding`\<`Date` \| `null`\> ##### isRangeSelection > **isRangeSelection**: `Binding`\<`boolean`\> ##### monthName > **monthName**: `Binding`\<`string`\> ##### selectedDate > **selectedDate**: `Binding`\<`Date` \| `null`\> ##### selectedDateRange > **selectedDateRange**: `Binding`\<[`DateRange`](DateRange.md)\> ##### weekdays > **weekdays**: `Binding`\<`string`[]\> *** ### updateCalendarDays() > **updateCalendarDays**(`calendarDays`, `binding`): `void` Defined in: [Date/interfaces/view-state.service.interfaces.ts:96](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/view-state.service.interfaces.ts#L96) Update calendarDays binding with new calendar days #### Parameters ##### calendarDays [`CalendarDate`](CalendarDate.md)[] ##### binding `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> #### Returns `void` *** ### updateCurrentDate() > **updateCurrentDate**(`date`, `currentMonthBinding`, `currentYearOrGetMonthName`, `monthNameBindingOrGenerateCalendarDays`, `getMonthNameFn?`, `calendarDaysBinding?`, `generateCalendarDaysFn?`): `object` Defined in: [Date/interfaces/view-state.service.interfaces.ts:41](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/view-state.service.interfaces.ts#L41) Update current date in view state #### Parameters ##### date `Date` The date to update to ##### currentMonthBinding `Binding`\<`number`\> | \{ `calendarDays`: `Binding`\<[`CalendarDate`](CalendarDate.md)[]\>; `currentMonth`: `Binding`\<`number`\>; `currentYear`: `Binding`\<`number`\>; `monthName`: `Binding`\<`string`\>; \} ##### currentYearOrGetMonthName `Binding`\<`number`\> | (`month`) => `string` ##### monthNameBindingOrGenerateCalendarDays `Binding`\<`string`\> | () => [`CalendarDate`](CalendarDate.md)[] ##### getMonthNameFn? (`month`) => `string` ##### calendarDaysBinding? `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> ##### generateCalendarDaysFn? () => [`CalendarDate`](CalendarDate.md)[] #### Returns `object` ##### month > **month**: `number` ##### year > **year**: `number` *** ### updateDateRange() > **updateDateRange**(`range`, `binding`, `calendarDaysBinding`, `generateCalendarDays`): `void` Defined in: [Date/interfaces/view-state.service.interfaces.ts:68](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/view-state.service.interfaces.ts#L68) Update date range bindings #### Parameters ##### range [`DateRange`](DateRange.md) ##### binding `Binding`\<[`DateRange`](DateRange.md)\> ##### calendarDaysBinding `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> ##### generateCalendarDays () => [`CalendarDate`](CalendarDate.md)[] #### Returns `void` *** ### updateFocusedDate() > **updateFocusedDate**(`date`, `bindingArg?`, `generateCalendarDays?`): `void` Defined in: [Date/interfaces/view-state.service.interfaces.ts:106](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/view-state.service.interfaces.ts#L106) Update focused date #### Parameters ##### date The date to focus `Date` | `null` ##### bindingArg? Either the focusedDate binding or the calendarDays binding `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> | `Binding`\<`Date` \| `null`\> ##### generateCalendarDays? () => [`CalendarDate`](CalendarDate.md)[] Optional function to generate calendar days #### Returns `void` *** ### updateSelectedDate() > **updateSelectedDate**(`date`, `binding`, `calendarDaysBinding?`, `generateCalendarDays?`): `void` Defined in: [Date/interfaces/view-state.service.interfaces.ts:58](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/view-state.service.interfaces.ts#L58) Update selected date bindings #### Parameters ##### date `Date` | `null` ##### binding `Binding`\<`Date` \| `null`\> ##### calendarDaysBinding? `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> ##### generateCalendarDays? () => [`CalendarDate`](CalendarDate.md)[] #### Returns `void` *** ### updateSelectedDateRange() > **updateSelectedDateRange**(`range`, `binding`): `void` Defined in: [Date/interfaces/view-state.service.interfaces.ts:88](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/view-state.service.interfaces.ts#L88) Update selectedDateRange binding with new range #### Parameters ##### range [`DateRange`](DateRange.md) ##### binding `Binding`\<[`DateRange`](DateRange.md)\> #### Returns `void` *** ### updateSelectionMode() > **updateSelectionMode**(`isRange`, `binding`, `calendarDaysBinding`, `generateCalendarDays`): `void` Defined in: [Date/interfaces/view-state.service.interfaces.ts:78](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/view-state.service.interfaces.ts#L78) Update selection mode #### Parameters ##### isRange `boolean` ##### binding `Binding`\<`boolean`\> ##### calendarDaysBinding `Binding`\<[`CalendarDate`](CalendarDate.md)[]\> ##### generateCalendarDays () => [`CalendarDate`](CalendarDate.md)[] #### Returns `void`