@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
213 lines (107 loc) • 4.02 kB
Markdown
[**@uplink-protocol/form-controller v0.3.1**](../README.md)
***
[@uplink-protocol/form-controller](../globals.md) / ITimeSelectionService
# Interface: ITimeSelectionService
Defined in: [Time/interfaces/time-selection.service.interfaces.ts:7](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-selection.service.interfaces.ts#L7)
Time selection service interface
Handles time selection logic including single time and time range selection
## Methods
### clearSelection()
> **clearSelection**(): `object`
Defined in: [Time/interfaces/time-selection.service.interfaces.ts:30](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-selection.service.interfaces.ts#L30)
Clear current time selection
#### Returns
`object`
Cleared selection state
##### selectedTime
> **selectedTime**: `Date` \| `null`
##### selectedTimeRange
> **selectedTimeRange**: [`TimeRange`](TimeRange.md)
***
### isRangeEnd()
> **isRangeEnd**(`time`, `range`): `boolean`
Defined in: [Time/interfaces/time-selection.service.interfaces.ts:70](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-selection.service.interfaces.ts#L70)
Check if a time is the end of a range
#### Parameters
##### time
`Date`
Time to check
##### range
[`TimeRange`](TimeRange.md)
Selected time range
#### Returns
`boolean`
Whether the time is range end
***
### isRangeStart()
> **isRangeStart**(`time`, `range`): `boolean`
Defined in: [Time/interfaces/time-selection.service.interfaces.ts:62](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-selection.service.interfaces.ts#L62)
Check if a time is the start of a range
#### Parameters
##### time
`Date`
Time to check
##### range
[`TimeRange`](TimeRange.md)
Selected time range
#### Returns
`boolean`
Whether the time is range start
***
### isTimeInRange()
> **isTimeInRange**(`time`, `range`): `boolean`
Defined in: [Time/interfaces/time-selection.service.interfaces.ts:54](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-selection.service.interfaces.ts#L54)
Check if a time is in the selected range
#### Parameters
##### time
`Date`
Time to check
##### range
[`TimeRange`](TimeRange.md)
Selected time range
#### Returns
`boolean`
Whether the time is in range
***
### isTimeSelected()
> **isTimeSelected**(`time`, `selectedTime`, `selectedRange`): `boolean`
Defined in: [Time/interfaces/time-selection.service.interfaces.ts:42](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-selection.service.interfaces.ts#L42)
Check if a time is selected
#### Parameters
##### time
`Date`
Time to check
##### selectedTime
Currently selected time
`Date` | `null`
##### selectedRange
[`TimeRange`](TimeRange.md)
Currently selected range
#### Returns
`boolean`
Whether the time is selected
***
### selectTime()
> **selectTime**(`time`, `currentSelectedTime`, `isRangeSelection`, `currentRange`): `object`
Defined in: [Time/interfaces/time-selection.service.interfaces.ts:16](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-selection.service.interfaces.ts#L16)
Select a specific time
#### Parameters
##### time
`Date`
Time to select
##### currentSelectedTime
Currently selected time
`Date` | `null`
##### isRangeSelection
`boolean`
Whether range selection is enabled
##### currentRange
[`TimeRange`](TimeRange.md)
Current time range selection
#### Returns
`object`
New selection state
##### selectedTime
> **selectedTime**: `Date` \| `null`
##### selectedTimeRange
> **selectedTimeRange**: [`TimeRange`](TimeRange.md)