Forms

useClockTime

Composable interno per parsing, validazione e formattazione del valore orario nel componente Clock.

Composable interno — utilizzato dal componente TimePicker / Clock SVG della libreria.

Firma TypeScript

export function useClockTime(params: UseClockTimeParams): UseClockTimeResult

export interface UseClockTimeParams {
  modelValue: ComputedRef<string | null | undefined>;
  duration: ComputedRef<boolean>;
  durationNegative: ComputedRef<boolean>;
  precision: ComputedRef<ClockPrecision>;  // 1 | 5 | 10 | 15 | 30 | 60
  separator: ComputedRef<string>;          // ':' o ','
  required: ComputedRef<boolean>;
  minimum: ComputedRef<string>;
  maximum: ComputedRef<string>;
  useDurationPlusSign: ComputedRef<boolean>;
}

export interface UseClockTimeResult {
  parsedTime: ComputedRef<ParsedTime>;
  currentHour: ComputedRef<number>;
  formatTime: (time: string | null) => string;
  buildTimeString: (hours: number, minutes: number, negative: boolean) => string;
  isTimeSmallerOrEquals: (time1: string, time2: string, ignoreMinutes?: boolean) => boolean;
  checkTimeValid: (hour: number, minute: number, negative: boolean) => boolean;
  checkHourValid: (hour: number, negative: boolean) => boolean;
}

export interface ParsedTime {
  negative: boolean;
  hours: number;
  minutes: number;
}

Valore di Ritorno

ProprietàTipoDescrizione
parsedTimeComputedRef<ParsedTime>Tempo parsato dal modelValue ({ negative, hours, minutes })
currentHourComputedRef<number>Ora corrente (0 viene convertito a 24 per la visualizzazione orologio)
formatTime(time: string | null) => stringFormatta una stringa applicando precision e limiti min/max
buildTimeString(hours, minutes, negative) => stringCostruisce la stringa tempo dai componenti
isTimeSmallerOrEquals(time1, time2, ignoreMinutes?) => booleanConfronto tra due stringhe orario
checkTimeValid(hour, minute, negative) => booleanVerifica se ora:minuto e nei limiti min/max
checkHourValid(hour, negative) => booleanVerifica se un'ora e valida (ignora i minuti)

Note

  • Il parsing supporta sia format normale (HH:MM) sia durata con segno (-H:MM, +H:MM).
  • formatTime gestisce il rounding dei minuti alla precision piu vicina.
  • checkHourValid usa ignoreMinutes=true per verificare se almeno una combinazione ora:XX e valida — utile per colorare le ore selezionabili nel clock.
  • Il separatore e configurabile (: per orari standard, , per alcune localizzazioni).
  • In modalita required, formatTime ritorna '0:00' o '00:00' invece di stringa vuota.