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

249 lines (125 loc) 5.12 kB
[**@uplink-protocol/form-controller v0.3.1**](../README.md) *** [@uplink-protocol/form-controller](../globals.md) / TimeSelectionService # Class: TimeSelectionService Defined in: [Time/services/time-selection.service.ts:7](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/services/time-selection.service.ts#L7) TimeSelectionService - Implementation of ITimeSelectionService Handles time selection logic including single time and time range selection ## Implements - [`ITimeSelectionService`](../interfaces/ITimeSelectionService.md) ## Constructors ### Constructor > **new TimeSelectionService**(): `TimeSelectionService` #### Returns `TimeSelectionService` ## Methods ### clearSelection() > **clearSelection**(): `object` Defined in: [Time/services/time-selection.service.ts:69](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/services/time-selection.service.ts#L69) Clear current time selection #### Returns `object` Cleared selection state ##### selectedTime > **selectedTime**: `Date` \| `null` ##### selectedTimeRange > **selectedTimeRange**: [`TimeRange`](../interfaces/TimeRange.md) #### Implementation of [`ITimeSelectionService`](../interfaces/ITimeSelectionService.md).[`clearSelection`](../interfaces/ITimeSelectionService.md#clearselection) *** ### isRangeEnd() > **isRangeEnd**(`time`, `range`): `boolean` Defined in: [Time/services/time-selection.service.ts:141](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/services/time-selection.service.ts#L141) Check if a time is the end of a range #### Parameters ##### time `Date` Time to check ##### range [`TimeRange`](../interfaces/TimeRange.md) Selected time range #### Returns `boolean` Whether the time is range end #### Implementation of [`ITimeSelectionService`](../interfaces/ITimeSelectionService.md).[`isRangeEnd`](../interfaces/ITimeSelectionService.md#israngeend) *** ### isRangeStart() > **isRangeStart**(`time`, `range`): `boolean` Defined in: [Time/services/time-selection.service.ts:131](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/services/time-selection.service.ts#L131) Check if a time is the start of a range #### Parameters ##### time `Date` Time to check ##### range [`TimeRange`](../interfaces/TimeRange.md) Selected time range #### Returns `boolean` Whether the time is range start #### Implementation of [`ITimeSelectionService`](../interfaces/ITimeSelectionService.md).[`isRangeStart`](../interfaces/ITimeSelectionService.md#israngestart) *** ### isTimeInRange() > **isTimeInRange**(`time`, `range`): `boolean` Defined in: [Time/services/time-selection.service.ts:113](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/services/time-selection.service.ts#L113) Check if a time is in the selected range #### Parameters ##### time `Date` Time to check ##### range [`TimeRange`](../interfaces/TimeRange.md) Selected time range #### Returns `boolean` Whether the time is in range #### Implementation of [`ITimeSelectionService`](../interfaces/ITimeSelectionService.md).[`isTimeInRange`](../interfaces/ITimeSelectionService.md#istimeinrange) *** ### isTimeSelected() > **isTimeSelected**(`time`, `selectedTime`, `selectedRange`): `boolean` Defined in: [Time/services/time-selection.service.ts:86](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/services/time-selection.service.ts#L86) Check if a time is selected #### Parameters ##### time `Date` Time to check ##### selectedTime Currently selected time `Date` | `null` ##### selectedRange [`TimeRange`](../interfaces/TimeRange.md) Currently selected range #### Returns `boolean` Whether the time is selected #### Implementation of [`ITimeSelectionService`](../interfaces/ITimeSelectionService.md).[`isTimeSelected`](../interfaces/ITimeSelectionService.md#istimeselected) *** ### selectTime() > **selectTime**(`time`, `_currentSelectedTime`, `isRangeSelection`, `currentRange`): `object` Defined in: [Time/services/time-selection.service.ts:15](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/services/time-selection.service.ts#L15) Select a specific time #### Parameters ##### time `Date` Time to select ##### \_currentSelectedTime `Date` | `null` ##### isRangeSelection `boolean` Whether range selection is enabled ##### currentRange [`TimeRange`](../interfaces/TimeRange.md) Current time range selection #### Returns `object` New selection state ##### selectedTime > **selectedTime**: `Date` \| `null` ##### selectedTimeRange > **selectedTimeRange**: [`TimeRange`](../interfaces/TimeRange.md) #### Implementation of [`ITimeSelectionService`](../interfaces/ITimeSelectionService.md).[`selectTime`](../interfaces/ITimeSelectionService.md#selecttime)