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

301 lines (151 loc) 5.73 kB
[**@uplink-protocol/form-controller v0.3.1**](../README.md) *** [@uplink-protocol/form-controller](../globals.md) / DateSelectionService # Class: DateSelectionService Defined in: [Date/services/date-selection.service.ts:8](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/date-selection.service.ts#L8) Implementation of DateSelectionService Responsible for handling date selection and ranges ## Implements - [`IDateSelectionService`](../interfaces/IDateSelectionService.md) ## Constructors ### Constructor > **new DateSelectionService**(): `DateSelectionService` #### Returns `DateSelectionService` ## Methods ### clearDateRange() > **clearDateRange**(): `object` Defined in: [Date/services/date-selection.service.ts:84](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/date-selection.service.ts#L84) Clear the date range selection #### Returns `object` Empty date range ##### endDate > **endDate**: `Date` \| `null` ##### startDate > **startDate**: `Date` \| `null` #### Implementation of [`IDateSelectionService`](../interfaces/IDateSelectionService.md).[`clearDateRange`](../interfaces/IDateSelectionService.md#cleardaterange) *** ### clearSelection() > **clearSelection**(): `object` Defined in: [Date/services/date-selection.service.ts:70](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/date-selection.service.ts#L70) Clear the current selection #### Returns `object` Updated selection state ##### selectedDate > **selectedDate**: `Date` \| `null` ##### selectedDateRange > **selectedDateRange**: `object` ###### selectedDateRange.endDate > **endDate**: `Date` \| `null` ###### selectedDateRange.startDate > **startDate**: `Date` \| `null` #### Implementation of [`IDateSelectionService`](../interfaces/IDateSelectionService.md).[`clearSelection`](../interfaces/IDateSelectionService.md#clearselection) *** ### isDateInRange() > **isDateInRange**(`date`, `range`): `object` Defined in: [Date/services/date-selection.service.ts:104](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/date-selection.service.ts#L104) Check if a date is in the selected range #### Parameters ##### date `Date` Date to check ##### range Currently selected range ###### endDate `Date` \| `null` ###### startDate `Date` \| `null` #### Returns `object` Object with range info ##### isInRange > **isInRange**: `boolean` ##### isRangeEnd > **isRangeEnd**: `boolean` ##### isRangeStart > **isRangeStart**: `boolean` #### Implementation of [`IDateSelectionService`](../interfaces/IDateSelectionService.md).[`isDateInRange`](../interfaces/IDateSelectionService.md#isdateinrange) *** ### isDateInSelectedRange() > **isDateInSelectedRange**(`date`, `range`): `boolean` Defined in: [Date/services/date-selection.service.ts:144](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/date-selection.service.ts#L144) Check if a date is in the selected range (simplified version) #### Parameters ##### date `Date` Date to check ##### range Currently selected range ###### endDate `Date` \| `null` ###### startDate `Date` \| `null` #### Returns `boolean` Boolean indicating if the date is in range #### Implementation of [`IDateSelectionService`](../interfaces/IDateSelectionService.md).[`isDateInSelectedRange`](../interfaces/IDateSelectionService.md#isdateinselectedrange) *** ### isDateSelected() > **isDateSelected**(`date`, `selectedDate`): `boolean` Defined in: [Date/services/date-selection.service.ts:94](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/date-selection.service.ts#L94) Check if a date is selected #### Parameters ##### date `Date` Date to check ##### selectedDate Currently selected date `Date` | `null` #### Returns `boolean` Boolean indicating if date is selected #### Implementation of [`IDateSelectionService`](../interfaces/IDateSelectionService.md).[`isDateSelected`](../interfaces/IDateSelectionService.md#isdateselected) *** ### selectDate() > **selectDate**(`date`): `Date` Defined in: [Date/services/date-selection.service.ts:14](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/date-selection.service.ts#L14) Select a single date #### Parameters ##### date `Date` Date to select #### Returns `Date` Selected date #### Implementation of [`IDateSelectionService`](../interfaces/IDateSelectionService.md).[`selectDate`](../interfaces/IDateSelectionService.md#selectdate) *** ### selectDateRange() > **selectDateRange**(`date`, `currentRange`): `object` Defined in: [Date/services/date-selection.service.ts:23](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/date-selection.service.ts#L23) Select a date for a range #### Parameters ##### date `Date` Date being selected ##### currentRange Current date range ###### end? `Date` \| `null` ###### endDate? `Date` \| `null` ###### start? `Date` \| `null` ###### startDate? `Date` \| `null` #### Returns `object` Updated date range ##### endDate > **endDate**: `Date` \| `null` ##### startDate > **startDate**: `Date` \| `null` #### Implementation of [`IDateSelectionService`](../interfaces/IDateSelectionService.md).[`selectDateRange`](../interfaces/IDateSelectionService.md#selectdaterange)