@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
381 lines (191 loc) • 7.96 kB
Markdown
[**@uplink-protocol/form-controller v0.3.1**](../README.md)
***
[@uplink-protocol/form-controller](../globals.md) / CalendarService
# Class: CalendarService
Defined in: [Date/services/calendar.service.ts:15](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/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: [Date/services/calendar.service.ts:40](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/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**(): [`ILocalizationService`](../interfaces/ILocalizationService.md) \| `null`
Defined in: [Date/services/calendar.service.ts:30](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/calendar.service.ts#L30)
Get the localization service
#### Returns
[`ILocalizationService`](../interfaces/ILocalizationService.md) \| `null`
The current localization service or null
#### Implementation of
[`ICalendarService`](../interfaces/ICalendarService.md).[`getLocalizationService`](../interfaces/ICalendarService.md#getlocalizationservice)
***
### getMonthName()
> **getMonthName**(`month`, `short`): `string`
Defined in: [Date/services/calendar.service.ts:154](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/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: [Date/services/calendar.service.ts:194](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/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: [Date/services/calendar.service.ts:216](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/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: [Date/services/calendar.service.ts:205](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/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: [Date/services/calendar.service.ts:226](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/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: [Date/services/calendar.service.ts:174](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/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: [Date/services/calendar.service.ts:254](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/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: [Date/services/calendar.service.ts:238](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/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
`Date` \| `null`
###### startDate
`Date` \| `null`
#### Returns
`boolean`
True if the date is within the range
***
### isToday()
> **isToday**(`date`): `boolean`
Defined in: [Date/services/calendar.service.ts:277](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/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: [Date/services/calendar.service.ts:22](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/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)