@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
225 lines (113 loc) • 4.2 kB
Markdown
[**@uplink-protocol/form-controller v0.3.1**](../README.md)
***
[@uplink-protocol/form-controller](../globals.md) / IDateSelectionService
# Interface: IDateSelectionService
Defined in: [Date/interfaces/date-selection.service.interfaces.ts:5](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/date-selection.service.interfaces.ts#L5)
Date selection service interface
Responsible for handling date selection and ranges
## Methods
### clearDateRange()
> **clearDateRange**(): `object`
Defined in: [Date/interfaces/date-selection.service.interfaces.ts:39](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/date-selection.service.interfaces.ts#L39)
Clear the date range selection
#### Returns
`object`
##### endDate
> **endDate**: `Date` \| `null`
##### startDate
> **startDate**: `Date` \| `null`
***
### clearSelection()
> **clearSelection**(`isRangeMode`): `object`
Defined in: [Date/interfaces/date-selection.service.interfaces.ts:19](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/date-selection.service.interfaces.ts#L19)
Clear the current selection
#### Parameters
##### isRangeMode
`boolean`
#### Returns
`object`
##### selectedDate
> **selectedDate**: `Date` \| `null`
##### selectedDateRange
> **selectedDateRange**: `object`
###### selectedDateRange.endDate
> **endDate**: `Date` \| `null`
###### selectedDateRange.startDate
> **startDate**: `Date` \| `null`
***
### isDateInRange()
> **isDateInRange**(`date`, `range`): `object`
Defined in: [Date/interfaces/date-selection.service.interfaces.ts:31](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/date-selection.service.interfaces.ts#L31)
Check if a given date is in the selected range
#### Parameters
##### date
`Date`
##### range
###### endDate
`Date` \| `null`
###### startDate
`Date` \| `null`
#### Returns
`object`
##### isInRange
> **isInRange**: `boolean`
##### isRangeEnd
> **isRangeEnd**: `boolean`
##### isRangeStart
> **isRangeStart**: `boolean`
***
### isDateInSelectedRange()
> **isDateInSelectedRange**(`date`, `range`): `boolean`
Defined in: [Date/interfaces/date-selection.service.interfaces.ts:44](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/date-selection.service.interfaces.ts#L44)
Check if a date is in the selected range (simplified version)
#### Parameters
##### date
`Date`
##### range
###### endDate
`Date` \| `null`
###### startDate
`Date` \| `null`
#### Returns
`boolean`
***
### isDateSelected()
> **isDateSelected**(`date`, `selectedDate`): `boolean`
Defined in: [Date/interfaces/date-selection.service.interfaces.ts:27](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/date-selection.service.interfaces.ts#L27)
Check if a given date is selected
#### Parameters
##### date
`Date`
##### selectedDate
`Date` | `null`
#### Returns
`boolean`
***
### selectDate()
> **selectDate**(`date`): `Date`
Defined in: [Date/interfaces/date-selection.service.interfaces.ts:9](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/date-selection.service.interfaces.ts#L9)
Select a single date
#### Parameters
##### date
`Date`
#### Returns
`Date`
***
### selectDateRange()
> **selectDateRange**(`date`, `currentRange`): `object`
Defined in: [Date/interfaces/date-selection.service.interfaces.ts:14](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/date-selection.service.interfaces.ts#L14)
Select a date for a range
#### Parameters
##### date
`Date`
##### currentRange
###### endDate
`Date` \| `null`
###### startDate
`Date` \| `null`
#### Returns
`object`
##### endDate
> **endDate**: `Date` \| `null`
##### startDate
> **startDate**: `Date` \| `null`