UNPKG

@uplink-protocol/calendar-controller

Version:

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

381 lines (191 loc) 7.83 kB
[**@uplink-protocol/form-controller v0.2.1**](../README.md) *** [@uplink-protocol/form-controller](../globals.md) / CalendarService # Class: CalendarService Defined in: [services/calendar.service.ts:15](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/calendar.service.ts#L15) Implementation of CalendarService Responsible for calendar generation and navigation functions ## Implements - [`ICalendarService`](../interfaces/ICalendarService.md) ## Constructors ### Constructor > **new CalendarService**(): `CalendarService` #### Returns `CalendarService` ## Methods ### generateCalendarDays() > **generateCalendarDays**(`year`, `month`, `options`): [`CalendarDate`](../interfaces/CalendarDate.md)[] Defined in: [services/calendar.service.ts:40](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/calendar.service.ts#L40) Generate calendar days for a specific month/year #### Parameters ##### year `number` The year ##### month `number` The month (0-11) ##### options [`CalendarGenerationOptions`](../interfaces/CalendarGenerationOptions.md) Options for calendar generation #### Returns [`CalendarDate`](../interfaces/CalendarDate.md)[] Array of CalendarDate objects #### Implementation of [`ICalendarService`](../interfaces/ICalendarService.md).[`generateCalendarDays`](../interfaces/ICalendarService.md#generatecalendardays) *** ### getLocalizationService() > **getLocalizationService**(): `null` \| [`ILocalizationService`](../interfaces/ILocalizationService.md) Defined in: [services/calendar.service.ts:30](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/calendar.service.ts#L30) Get the localization service #### Returns `null` \| [`ILocalizationService`](../interfaces/ILocalizationService.md) The current localization service or null #### Implementation of [`ICalendarService`](../interfaces/ICalendarService.md).[`getLocalizationService`](../interfaces/ICalendarService.md#getlocalizationservice) *** ### getMonthName() > **getMonthName**(`month`, `short`): `string` Defined in: [services/calendar.service.ts:154](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/calendar.service.ts#L154) Get month name from month index #### Parameters ##### month `number` Month index (0-11) ##### short `boolean` = `false` #### Returns `string` Month name #### Implementation of [`ICalendarService`](../interfaces/ICalendarService.md).[`getMonthName`](../interfaces/ICalendarService.md#getmonthname) *** ### getNextMonth() > **getNextMonth**(`currentDate`): `Date` Defined in: [services/calendar.service.ts:194](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/calendar.service.ts#L194) Navigate to next month from current date #### Parameters ##### currentDate `Date` Current date #### Returns `Date` New date in the next month #### Implementation of [`ICalendarService`](../interfaces/ICalendarService.md).[`getNextMonth`](../interfaces/ICalendarService.md#getnextmonth) *** ### getNextYear() > **getNextYear**(`currentDate`): `Date` Defined in: [services/calendar.service.ts:216](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/calendar.service.ts#L216) Navigate to next year from current date #### Parameters ##### currentDate `Date` Current date #### Returns `Date` New date in the next year #### Implementation of [`ICalendarService`](../interfaces/ICalendarService.md).[`getNextYear`](../interfaces/ICalendarService.md#getnextyear) *** ### getPreviousMonth() > **getPreviousMonth**(`currentDate`): `Date` Defined in: [services/calendar.service.ts:205](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/calendar.service.ts#L205) Navigate to previous month from current date #### Parameters ##### currentDate `Date` Current date #### Returns `Date` New date in the previous month #### Implementation of [`ICalendarService`](../interfaces/ICalendarService.md).[`getPreviousMonth`](../interfaces/ICalendarService.md#getpreviousmonth) *** ### getPreviousYear() > **getPreviousYear**(`currentDate`): `Date` Defined in: [services/calendar.service.ts:226](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/calendar.service.ts#L226) Navigate to previous year from current date #### Parameters ##### currentDate `Date` Current date #### Returns `Date` New date in the previous year #### Implementation of [`ICalendarService`](../interfaces/ICalendarService.md).[`getPreviousYear`](../interfaces/ICalendarService.md#getpreviousyear) *** ### getWeekdayNames() > **getWeekdayNames**(`firstDayOfWeek`, `short`): `string`[] Defined in: [services/calendar.service.ts:174](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/calendar.service.ts#L174) Get weekday names starting from specified first day #### Parameters ##### firstDayOfWeek `number` First day of week (0 = Sunday, 1 = Monday, etc.) ##### short `boolean` = `false` #### Returns `string`[] Array of weekday names #### Implementation of [`ICalendarService`](../interfaces/ICalendarService.md).[`getWeekdayNames`](../interfaces/ICalendarService.md#getweekdaynames) *** ### getWeekNumber() > **getWeekNumber**(`date`): `number` Defined in: [services/calendar.service.ts:254](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/calendar.service.ts#L254) Get the ISO week number for a date #### Parameters ##### date `Date` The date #### Returns `number` The week number (1-53) #### Implementation of [`ICalendarService`](../interfaces/ICalendarService.md).[`getWeekNumber`](../interfaces/ICalendarService.md#getweeknumber) *** ### isDateInSelectedRange() > **isDateInSelectedRange**(`date`, `range`): `boolean` Defined in: [services/calendar.service.ts:238](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/calendar.service.ts#L238) Check if a date is within a selected date range #### Parameters ##### date `Date` The date to check ##### range The date range (startDate and endDate) ###### endDate `null` \| `Date` ###### startDate `null` \| `Date` #### Returns `boolean` True if the date is within the range *** ### isToday() > **isToday**(`date`): `boolean` Defined in: [services/calendar.service.ts:277](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/calendar.service.ts#L277) Check if a date is today #### Parameters ##### date `Date` The date to check #### Returns `boolean` True if the date is today #### Implementation of [`ICalendarService`](../interfaces/ICalendarService.md).[`isToday`](../interfaces/ICalendarService.md#istoday) *** ### setLocalizationService() > **setLocalizationService**(`service`): `void` Defined in: [services/calendar.service.ts:22](https://github.com/jmkcoder/uplink-protocol-calendar/blob/311e0b81efba7399cf1c367c0a2007aa66f3b830/src/services/calendar.service.ts#L22) Set the localization service #### Parameters ##### service [`ILocalizationService`](../interfaces/ILocalizationService.md) The localization service to use #### Returns `void` #### Implementation of [`ICalendarService`](../interfaces/ICalendarService.md).[`setLocalizationService`](../interfaces/ICalendarService.md#setlocalizationservice)