@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
319 lines (160 loc) • 6.09 kB
Markdown
[**@uplink-protocol/form-controller v0.3.1**](../README.md)
***
[@uplink-protocol/form-controller](../globals.md) / ITimeConstraintsService
# Interface: ITimeConstraintsService
Defined in: [Time/interfaces/time-constraints.service.interfaces.ts:7](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-constraints.service.interfaces.ts#L7)
Time constraints service interface
Manages time constraints and validation
## Methods
### addDisabledHour()
> **addDisabledHour**(`hour`, `currentDisabledHours`): `number`[]
Defined in: [Time/interfaces/time-constraints.service.interfaces.ts:72](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-constraints.service.interfaces.ts#L72)
Add a disabled hour
#### Parameters
##### hour
`number`
Hour to disable (0-23)
##### currentDisabledHours
`number`[]
Current array of disabled hours
#### Returns
`number`[]
Updated array of disabled hours
***
### addDisabledTime()
> **addDisabledTime**(`time`, `currentDisabledTimes`): `Date`[]
Defined in: [Time/interfaces/time-constraints.service.interfaces.ts:56](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-constraints.service.interfaces.ts#L56)
Add a disabled time
#### Parameters
##### time
`Date`
Time to disable
##### currentDisabledTimes
`Date`[]
Current array of disabled times
#### Returns
`Date`[]
Updated array of disabled times
***
### isTimeDisabled()
> **isTimeDisabled**(`time`, `minTime`, `maxTime`, `disabledTimes`, `disabledHours`, `disabledMinutes`, `disabledSeconds`): `boolean`
Defined in: [Time/interfaces/time-constraints.service.interfaces.ts:19](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-constraints.service.interfaces.ts#L19)
Check if a time is disabled based on all constraints
#### Parameters
##### time
`Date`
Time to check
##### minTime
Minimum allowed time
`Date` | `null`
##### maxTime
Maximum allowed time
`Date` | `null`
##### disabledTimes
`Date`[]
Array of disabled times
##### disabledHours
`number`[]
Array of disabled hours
##### disabledMinutes
`number`[]
Array of disabled minutes
##### disabledSeconds
`number`[]
Array of disabled seconds
#### Returns
`boolean`
Whether the time is disabled
***
### isValidStep()
> **isValidStep**(`step`, `type`): `boolean`
Defined in: [Time/interfaces/time-constraints.service.interfaces.ts:95](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-constraints.service.interfaces.ts#L95)
Check if time step is valid
#### Parameters
##### step
`number`
Step value to validate
##### type
Type of step ('minute' or 'second')
`"minute"` | `"second"`
#### Returns
`boolean`
Whether the step is valid
***
### removeDisabledHour()
> **removeDisabledHour**(`hour`, `currentDisabledHours`): `number`[]
Defined in: [Time/interfaces/time-constraints.service.interfaces.ts:80](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-constraints.service.interfaces.ts#L80)
Remove a disabled hour
#### Parameters
##### hour
`number`
Hour to enable (0-23)
##### currentDisabledHours
`number`[]
Current array of disabled hours
#### Returns
`number`[]
Updated array of disabled hours
***
### removeDisabledTime()
> **removeDisabledTime**(`time`, `currentDisabledTimes`): `Date`[]
Defined in: [Time/interfaces/time-constraints.service.interfaces.ts:64](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-constraints.service.interfaces.ts#L64)
Remove a disabled time
#### Parameters
##### time
`Date`
Time to enable
##### currentDisabledTimes
`Date`[]
Current array of disabled times
#### Returns
`Date`[]
Updated array of disabled times
***
### setDisabledHours()
> **setDisabledHours**(`hours`): `number`[]
Defined in: [Time/interfaces/time-constraints.service.interfaces.ts:34](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-constraints.service.interfaces.ts#L34)
Validate and set disabled hours
#### Parameters
##### hours
`number`[]
Array of hours to disable (0-23)
#### Returns
`number`[]
Validated array of disabled hours
***
### setDisabledMinutes()
> **setDisabledMinutes**(`minutes`): `number`[]
Defined in: [Time/interfaces/time-constraints.service.interfaces.ts:41](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-constraints.service.interfaces.ts#L41)
Validate and set disabled minutes
#### Parameters
##### minutes
`number`[]
Array of minutes to disable (0-59)
#### Returns
`number`[]
Validated array of disabled minutes
***
### setDisabledSeconds()
> **setDisabledSeconds**(`seconds`): `number`[]
Defined in: [Time/interfaces/time-constraints.service.interfaces.ts:48](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-constraints.service.interfaces.ts#L48)
Validate and set disabled seconds
#### Parameters
##### seconds
`number`[]
Array of seconds to disable (0-59)
#### Returns
`number`[]
Validated array of disabled seconds
***
### validateTimeOptions()
> **validateTimeOptions**(`options`): [`TimeOptions`](TimeOptions.md)
Defined in: [Time/interfaces/time-constraints.service.interfaces.ts:87](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Time/interfaces/time-constraints.service.interfaces.ts#L87)
Validate time options
#### Parameters
##### options
[`TimeOptions`](TimeOptions.md)
Time options to validate
#### Returns
[`TimeOptions`](TimeOptions.md)
Validated time options