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.33 kB
[**@uplink-protocol/form-controller v0.3.1**](../README.md) *** [@uplink-protocol/form-controller](../globals.md) / TimeViewStateService # Class: TimeViewStateService Defined in: [Time/services/time-view-state.service.ts:8](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/services/time-view-state.service.ts#L8) TimeViewStateService - Implementation of ITimeViewStateService Manages UI state and bindings for time picker ## Implements - [`ITimeViewStateService`](../interfaces/ITimeViewStateService.md) ## Constructors ### Constructor > **new TimeViewStateService**(): `TimeViewStateService` #### Returns `TimeViewStateService` ## Methods ### initializeBindings() > **initializeBindings**(`selectedTime`, `selectedTimeRange`, `use12HourFormat`, `showSeconds`, `showMilliseconds`, `generateTimeSegments`, `locale`, `isRangeSelection`, `minuteStep`, `secondStep`): `object` Defined in: [Time/services/time-view-state.service.ts:18](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/services/time-view-state.service.ts#L18) Initialize reactive bindings for time picker #### Parameters ##### selectedTime Currently selected time `Date` | `null` ##### selectedTimeRange [`TimeRange`](../interfaces/TimeRange.md) Currently selected time range ##### use12HourFormat `boolean` Whether to use 12-hour format ##### showSeconds `boolean` Whether to show seconds ##### showMilliseconds `boolean` Whether to show milliseconds ##### generateTimeSegments () => `any` Function to generate time segments ##### locale `string` = `'en-US'` ##### isRangeSelection `boolean` = `false` ##### minuteStep `number` = `1` ##### secondStep `number` = `1` #### Returns `object` Initialized bindings ##### currentTime > **currentTime**: `Binding`\<`Date`\> ##### focusedSegment > **focusedSegment**: `Binding`\<`"hours"` \| `"minutes"` \| `"seconds"` \| `"milliseconds"` \| `"period"` \| `null`\> ##### formattedTime > **formattedTime**: `Binding`\<`string`\> ##### isRangeSelection > **isRangeSelection**: `Binding`\<`boolean`\> ##### locale > **locale**: `Binding`\<`string`\> ##### minuteStep > **minuteStep**: `Binding`\<`number`\> ##### secondStep > **secondStep**: `Binding`\<`number`\> ##### selectedTime > **selectedTime**: `Binding`\<`Date` \| `null`\> ##### selectedTimeRange > **selectedTimeRange**: `Binding`\<[`TimeRange`](../interfaces/TimeRange.md)\> ##### showMilliseconds > **showMilliseconds**: `Binding`\<`boolean`\> ##### showSeconds > **showSeconds**: `Binding`\<`boolean`\> ##### timeSegments > **timeSegments**: `Binding`\<\{ `hours`: [`TimeSegment`](../interfaces/TimeSegment.md)[]; `milliseconds?`: [`TimeSegment`](../interfaces/TimeSegment.md)[]; `minutes`: [`TimeSegment`](../interfaces/TimeSegment.md)[]; `period?`: [`TimePeriod`](../interfaces/TimePeriod.md); `seconds`: [`TimeSegment`](../interfaces/TimeSegment.md)[]; \}\> ##### use12HourFormat > **use12HourFormat**: `Binding`\<`boolean`\> #### Implementation of [`ITimeViewStateService`](../interfaces/ITimeViewStateService.md).[`initializeBindings`](../interfaces/ITimeViewStateService.md#initializebindings) *** ### updateBindings() > **updateBindings**(`bindings`, `newValues`): `void` Defined in: [Time/services/time-view-state.service.ts:78](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/services/time-view-state.service.ts#L78) Update all bindings with new values #### Parameters ##### bindings `any` Current bindings ##### newValues `any` New values to set #### Returns `void` #### Implementation of [`ITimeViewStateService`](../interfaces/ITimeViewStateService.md).[`updateBindings`](../interfaces/ITimeViewStateService.md#updatebindings) *** ### updateFocusedSegment() > **updateFocusedSegment**(`binding`, `segment`): `void` Defined in: [Time/services/time-view-state.service.ts:133](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/services/time-view-state.service.ts#L133) Update focused segment binding #### Parameters ##### binding `Binding`\<`"hours"` \| `"minutes"` \| `"seconds"` \| `"milliseconds"` \| `"period"` \| `null`\> Focused segment binding ##### segment New focused segment `"hours"` | `"minutes"` | `"seconds"` | `"milliseconds"` | `"period"` | `null` #### Returns `void` #### Implementation of [`ITimeViewStateService`](../interfaces/ITimeViewStateService.md).[`updateFocusedSegment`](../interfaces/ITimeViewStateService.md#updatefocusedsegment) *** ### updateSelectedTime() > **updateSelectedTime**(`binding`, `time`): `void` Defined in: [Time/services/time-view-state.service.ts:124](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/services/time-view-state.service.ts#L124) Update selected time binding #### Parameters ##### binding `Binding`\<`Date` \| `null`\> Selected time binding ##### time New time value `Date` | `null` #### Returns `void` #### Implementation of [`ITimeViewStateService`](../interfaces/ITimeViewStateService.md).[`updateSelectedTime`](../interfaces/ITimeViewStateService.md#updateselectedtime)