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

394 lines (198 loc) 8.58 kB
[**@uplink-protocol/form-controller v0.3.1**](../README.md) *** [@uplink-protocol/form-controller](../globals.md) / CalendarGeneratorService # Class: CalendarGeneratorService Defined in: [Date/services/calendar-generator.service.ts:24](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/calendar-generator.service.ts#L24) Implementation of CalendarGeneratorService Responsible for generating calendar data structures ## Implements - [`ICalendarGeneratorService`](../interfaces/ICalendarGeneratorService.md) ## Constructors ### Constructor > **new CalendarGeneratorService**(): `CalendarGeneratorService` #### Returns `CalendarGeneratorService` ## Methods ### generateCalendarDays() > **generateCalendarDays**(`year`, `month`, `options`): [`CalendarDate`](../interfaces/CalendarDate.md)[] Defined in: [Date/services/calendar-generator.service.ts:62](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/calendar-generator.service.ts#L62) Generate calendar days for a specific month/year #### Parameters ##### year `number` Year ##### month `number` Month (0-11) ##### options [`CalendarGenerationOptions`](../interfaces/CalendarGenerationOptions.md) Calendar generation options #### Returns [`CalendarDate`](../interfaces/CalendarDate.md)[] Array of calendar dates #### Implementation of [`ICalendarGeneratorService`](../interfaces/ICalendarGeneratorService.md).[`generateCalendarDays`](../interfaces/ICalendarGeneratorService.md#generatecalendardays) *** ### generateCalendarMonths() > **generateCalendarMonths**(`year`, `options`): [`CalendarMonth`](../interfaces/CalendarMonth.md)[] Defined in: [Date/services/calendar-generator.service.ts:132](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/calendar-generator.service.ts#L132) Generate an array of calendar months for a year view #### Parameters ##### year `number` Year to generate months for ##### options [`MonthViewGenerationOptions`](../interfaces/MonthViewGenerationOptions.md) Month view generation options #### Returns [`CalendarMonth`](../interfaces/CalendarMonth.md)[] Array of calendar month objects #### Implementation of [`ICalendarGeneratorService`](../interfaces/ICalendarGeneratorService.md).[`generateCalendarMonths`](../interfaces/ICalendarGeneratorService.md#generatecalendarmonths) *** ### generateCalendarYears() > **generateCalendarYears**(`baseYear`, `rangeSize`, `options`): [`CalendarYear`](../interfaces/CalendarYear.md)[] Defined in: [Date/services/calendar-generator.service.ts:171](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/calendar-generator.service.ts#L171) Generate an array of calendar years for a year range view #### Parameters ##### baseYear `number` Starting year for the range ##### rangeSize `number` Number of years to generate ##### options [`YearViewGenerationOptions`](../interfaces/YearViewGenerationOptions.md) Year view generation options #### Returns [`CalendarYear`](../interfaces/CalendarYear.md)[] Array of calendar year objects #### Implementation of [`ICalendarGeneratorService`](../interfaces/ICalendarGeneratorService.md).[`generateCalendarYears`](../interfaces/ICalendarGeneratorService.md#generatecalendaryears) *** ### generateDecadeView() > **generateDecadeView**(`baseYear`, `options`): `object` Defined in: [Date/services/calendar-generator.service.ts:395](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/calendar-generator.service.ts#L395) Generate decade view (10 years) #### Parameters ##### baseYear `number` Base year for the decade view ##### options [`YearViewGenerationOptions`](../interfaces/YearViewGenerationOptions.md) Year view generation options #### Returns `object` Object with decade view data ##### endYear > **endYear**: `number` ##### startYear > **startYear**: `number` ##### years > **years**: [`CalendarYear`](../interfaces/CalendarYear.md)[] *** ### generateMonthView() > **generateMonthView**(`year`, `month`, `options`): `object` Defined in: [Date/services/calendar-generator.service.ts:303](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/calendar-generator.service.ts#L303) Generate month view for a specific month/year #### Parameters ##### year `number` Year ##### month `number` Month (0-11) ##### options [`CalendarGenerationOptions`](../interfaces/CalendarGenerationOptions.md) Calendar generation options #### Returns `object` Object with month view data ##### month > **month**: `number` ##### weekdays > **weekdays**: `string`[] ##### weeks > **weeks**: `object`[] ##### year > **year**: `number` #### Implementation of [`ICalendarGeneratorService`](../interfaces/ICalendarGeneratorService.md).[`generateMonthView`](../interfaces/ICalendarGeneratorService.md#generatemonthview) *** ### generateMultiYearView() > **generateMultiYearView**(`baseYear`, `options`): `object` Defined in: [Date/services/calendar-generator.service.ts:425](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/calendar-generator.service.ts#L425) Generate multi-year view (typically for selecting a year within a decade or larger range) #### Parameters ##### baseYear `number` Base year for the multi-year view ##### options [`YearViewGenerationOptions`](../interfaces/YearViewGenerationOptions.md) Year view generation options #### Returns `object` Object with multi-year view data ##### decades > **decades**: `object`[] ##### endYear > **endYear**: `number` ##### startYear > **startYear**: `number` ##### years > **years**: [`CalendarYear`](../interfaces/CalendarYear.md)[] *** ### generateYearView() > **generateYearView**(`year`, `options`): `object` Defined in: [Date/services/calendar-generator.service.ts:375](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/calendar-generator.service.ts#L375) Generate year view with all months for a specific year #### Parameters ##### year `number` Year to generate view for ##### options [`YearViewGenerationOptions`](../interfaces/YearViewGenerationOptions.md) Year view generation options #### Returns `object` Object with year view data ##### months > **months**: [`CalendarMonth`](../interfaces/CalendarMonth.md)[] ##### year > **year**: `number` #### Implementation of [`ICalendarGeneratorService`](../interfaces/ICalendarGeneratorService.md).[`generateYearView`](../interfaces/ICalendarGeneratorService.md#generateyearview) *** ### getCalendarDaysGenerator() > **getCalendarDaysGenerator**(`getCurrentDate`, `getCalendarOptions`): () => [`CalendarDate`](../interfaces/CalendarDate.md)[] Defined in: [Date/services/calendar-generator.service.ts:283](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/calendar-generator.service.ts#L283) Get calendar days generation function Returns a function that can be called to generate calendar days #### Parameters ##### getCurrentDate () => `Date` Function to get current date ##### getCalendarOptions () => [`CalendarGenerationOptions`](../interfaces/CalendarGenerationOptions.md) Function to get calendar options #### Returns Function that generates calendar days > (): [`CalendarDate`](../interfaces/CalendarDate.md)[] ##### Returns [`CalendarDate`](../interfaces/CalendarDate.md)[] #### Implementation of [`ICalendarGeneratorService`](../interfaces/ICalendarGeneratorService.md).[`getCalendarDaysGenerator`](../interfaces/ICalendarGeneratorService.md#getcalendardaysgenerator) *** ### getWeekNumber() > **getWeekNumber**(`date`, `locale?`): `number` Defined in: [Date/services/calendar-generator.service.ts:30](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/calendar-generator.service.ts#L30) Get the ISO week number for a date #### Parameters ##### date `Date` ##### locale? `string` #### Returns `number` #### Implementation of [`ICalendarGeneratorService`](../interfaces/ICalendarGeneratorService.md).[`getWeekNumber`](../interfaces/ICalendarGeneratorService.md#getweeknumber)