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

213 lines (107 loc) 4.02 kB
[**@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)