@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
219 lines (111 loc) • 4.85 kB
Markdown
[**@uplink-protocol/form-controller v0.3.1**](../README.md)
***
[@uplink-protocol/form-controller](../globals.md) / ICalendarGeneratorService
# Interface: ICalendarGeneratorService
Defined in: [Date/interfaces/calendar-generator.service.interfaces.ts:8](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/calendar-generator.service.interfaces.ts#L8)
Calendar generator service interface
Responsible for generating calendar days based on given options
## Methods
### generateCalendarDays()
> **generateCalendarDays**(`year`, `month`, `options`): [`CalendarDate`](CalendarDate.md)[]
Defined in: [Date/interfaces/calendar-generator.service.interfaces.ts:12](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/calendar-generator.service.interfaces.ts#L12)
Generate calendar days for a specified month/year
#### Parameters
##### year
`number`
##### month
`number`
##### options
[`CalendarGenerationOptions`](CalendarGenerationOptions.md)
#### Returns
[`CalendarDate`](CalendarDate.md)[]
***
### generateCalendarMonths()
> **generateCalendarMonths**(`year`, `options`): [`CalendarMonth`](CalendarMonth.md)[]
Defined in: [Date/interfaces/calendar-generator.service.interfaces.ts:21](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/calendar-generator.service.interfaces.ts#L21)
Generate calendar months for a specified year
#### Parameters
##### year
`number`
##### options
[`MonthViewGenerationOptions`](MonthViewGenerationOptions.md)
#### Returns
[`CalendarMonth`](CalendarMonth.md)[]
***
### generateCalendarYears()
> **generateCalendarYears**(`baseYear`, `rangeSize`, `options`): [`CalendarYear`](CalendarYear.md)[]
Defined in: [Date/interfaces/calendar-generator.service.interfaces.ts:29](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/calendar-generator.service.interfaces.ts#L29)
Generate calendar years for a specified year range
#### Parameters
##### baseYear
`number`
##### rangeSize
`number`
##### options
[`YearViewGenerationOptions`](YearViewGenerationOptions.md)
#### Returns
[`CalendarYear`](CalendarYear.md)[]
***
### generateMonthView()
> **generateMonthView**(`year`, `month`, `options`): `object`
Defined in: [Date/interfaces/calendar-generator.service.interfaces.ts:48](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/calendar-generator.service.interfaces.ts#L48)
Generate a complete month view with proper structure for rendering
Includes weeks and weekdays data
#### Parameters
##### year
`number`
##### month
`number`
##### options
[`CalendarGenerationOptions`](CalendarGenerationOptions.md)
#### Returns
`object`
##### month
> **month**: `number`
##### weekdays
> **weekdays**: `string`[]
##### weeks
> **weeks**: `object`[]
##### year
> **year**: `number`
***
### generateYearView()
> **generateYearView**(`year`, `options`): `object`
Defined in: [Date/interfaces/calendar-generator.service.interfaces.ts:62](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/calendar-generator.service.interfaces.ts#L62)
Generate a complete year view with all months
#### Parameters
##### year
`number`
##### options
[`YearViewGenerationOptions`](YearViewGenerationOptions.md)
#### Returns
`object`
##### months
> **months**: [`CalendarMonth`](CalendarMonth.md)[]
##### year
> **year**: `number`
***
### getCalendarDaysGenerator()
> **getCalendarDaysGenerator**(`getCurrentDate`, `getCalendarOptions`): () => [`CalendarDate`](CalendarDate.md)[]
Defined in: [Date/interfaces/calendar-generator.service.interfaces.ts:39](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/calendar-generator.service.interfaces.ts#L39)
Get calendar days generation function
Returns a function that can be called to generate calendar days
#### Parameters
##### getCurrentDate
() => `Date`
##### getCalendarOptions
() => [`CalendarGenerationOptions`](CalendarGenerationOptions.md)
#### Returns
> (): [`CalendarDate`](CalendarDate.md)[]
##### Returns
[`CalendarDate`](CalendarDate.md)[]
***
### getWeekNumber()
> **getWeekNumber**(`date`): `number`
Defined in: [Date/interfaces/calendar-generator.service.interfaces.ts:73](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/calendar-generator.service.interfaces.ts#L73)
Get the ISO week number for a date
#### Parameters
##### date
`Date`
#### Returns
`number`