UNPKG

@bimeister/pupakit.forms

Version:
51 lines 10.3 kB
import { isNil } from '@bimeister/utilities'; import { getFormattedTimeDigit } from '@bimeister/pupakit.common'; import '../interfaces/parsed-time-data.interface'; import '../interfaces/parsed-date-data.interface'; import '../types/numeric-parsed-time-data.type'; export class InputDateTimeHelper { static getUpdatedValueStringAfterSelectHours(hours, inputCurrentValue) { const parsedHours = getFormattedTimeDigit(hours); const { minutes, seconds } = this.getParsedTimeData(inputCurrentValue); return `${parsedHours}:${minutes}:${seconds}`; } static getUpdatedValueStringAfterSelectMinutes(minutes, inputCurrentValue) { const parsedMinutes = getFormattedTimeDigit(minutes); const { hours, seconds } = this.getParsedTimeData(inputCurrentValue); return `${hours}:${parsedMinutes}:${seconds}`; } static getUpdatedValueStringAfterSelectSeconds(seconds, inputCurrentValue) { const parsedSeconds = getFormattedTimeDigit(seconds); const { hours, minutes } = this.getParsedTimeData(inputCurrentValue); return `${hours}:${minutes}:${parsedSeconds}`; } static getParsedDateData(inputValue) { const defaultDateParts = ['00', '00', '0000']; const allowedTimePartsLength = defaultDateParts.length; const convertedDefaultDateParts = defaultDateParts.join('.'); const serializedValue = isNil(inputValue) ? convertedDefaultDateParts : inputValue; const parsedDateParts = serializedValue.split('.'); const dateParts = [...parsedDateParts, ...defaultDateParts].slice(0, allowedTimePartsLength); return { day: dateParts[0], month: dateParts[1], year: dateParts[2] }; } static getParsedNumericTimeData(inputValue) { const { hours, minutes, seconds } = InputDateTimeHelper.getParsedTimeData(inputValue); return { hours: Number(hours), minutes: Number(minutes), seconds: Number(seconds), }; } static getParsedTimeData(inputValue) { const defaultTimeParts = ['00', '00', '00']; const allowedTimePartsLength = defaultTimeParts.length; const convertedDefaultTimeParts = defaultTimeParts.join(':'); const serializedValue = isNil(inputValue) ? convertedDefaultTimeParts : inputValue; const parsedTimeParts = serializedValue .split(':') .map((timePart) => getFormattedTimeDigit(Number(timePart))); const timeParts = [...parsedTimeParts, ...defaultTimeParts].slice(0, allowedTimePartsLength); return { hours: timeParts[0], minutes: timeParts[1], seconds: timeParts[2] }; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLWhlbHBlci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWNsYXJhdGlvbnMvY2xhc3Nlcy9pbnB1dC1kYXRlLXRpbWUtaGVscGVyLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUErQiwwQ0FBMEMsQ0FBQztBQUMxRSxPQUErQiwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFzQyx3Q0FBd0MsQ0FBQztBQUUvRSxNQUFNLE9BQU8sbUJBQW1CO0lBQ3ZCLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxLQUFhLEVBQUUsaUJBQXlCO1FBQzFGLE1BQU0sV0FBVyxHQUFXLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQTRCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWhHLE9BQU8sR0FBRyxXQUFXLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFTSxNQUFNLENBQUMsdUNBQXVDLENBQUMsT0FBZSxFQUFFLGlCQUF5QjtRQUM5RixNQUFNLGFBQWEsR0FBVyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUE0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUU5RixPQUFPLEdBQUcsS0FBSyxJQUFJLGFBQWEsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRU0sTUFBTSxDQUFDLHVDQUF1QyxDQUFDLE9BQWUsRUFBRSxpQkFBeUI7UUFDOUYsTUFBTSxhQUFhLEdBQVcscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0QsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBNEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFOUYsT0FBTyxHQUFHLEtBQUssSUFBSSxPQUFPLElBQUksYUFBYSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxVQUFrQjtRQUNoRCxNQUFNLGdCQUFnQixHQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4RCxNQUFNLHNCQUFzQixHQUFXLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUUvRCxNQUFNLHlCQUF5QixHQUFXLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVyRSxNQUFNLGVBQWUsR0FBVyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDM0YsTUFBTSxlQUFlLEdBQWEsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU3RCxNQUFNLFNBQVMsR0FBYSxDQUFDLEdBQUcsZUFBZSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFFdkcsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDeEUsQ0FBQztJQUVNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxVQUFrQjtRQUN2RCxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBbUIsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdEcsT0FBTztZQUNMLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ3BCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ3pCLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLGlCQUFpQixDQUFDLFVBQWtCO1FBQ2hELE1BQU0sZ0JBQWdCLEdBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RELE1BQU0sc0JBQXNCLEdBQVcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1FBRS9ELE1BQU0seUJBQXlCLEdBQVcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJFLE1BQU0sZUFBZSxHQUFXLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUMzRixNQUFNLGVBQWUsR0FBYSxlQUFlO2FBQzlDLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixHQUFHLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRFLE1BQU0sU0FBUyxHQUFhLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUV2RyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc05pbCB9IGZyb20gJ0BiaW1laXN0ZXIvdXRpbGl0aWVzJztcbmltcG9ydCB7IGdldEZvcm1hdHRlZFRpbWVEaWdpdCB9IGZyb20gJ0BiaW1laXN0ZXIvcHVwYWtpdC5jb21tb24nO1xuaW1wb3J0IHsgUGFyc2VkVGltZURhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BhcnNlZC10aW1lLWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBhcnNlZERhdGVEYXRhIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wYXJzZWQtZGF0ZS1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOdW1lcmljUGFyc2VkVGltZURhdGEgfSBmcm9tICcuLi90eXBlcy9udW1lcmljLXBhcnNlZC10aW1lLWRhdGEudHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBJbnB1dERhdGVUaW1lSGVscGVyIHtcbiAgcHVibGljIHN0YXRpYyBnZXRVcGRhdGVkVmFsdWVTdHJpbmdBZnRlclNlbGVjdEhvdXJzKGhvdXJzOiBudW1iZXIsIGlucHV0Q3VycmVudFZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcnNlZEhvdXJzOiBzdHJpbmcgPSBnZXRGb3JtYXR0ZWRUaW1lRGlnaXQoaG91cnMpO1xuICAgIGNvbnN0IHsgbWludXRlcywgc2Vjb25kcyB9OiBQYXJ0aWFsPFBhcnNlZFRpbWVEYXRhPiA9IHRoaXMuZ2V0UGFyc2VkVGltZURhdGEoaW5wdXRDdXJyZW50VmFsdWUpO1xuXG4gICAgcmV0dXJuIGAke3BhcnNlZEhvdXJzfToke21pbnV0ZXN9OiR7c2Vjb25kc31gO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRVcGRhdGVkVmFsdWVTdHJpbmdBZnRlclNlbGVjdE1pbnV0ZXMobWludXRlczogbnVtYmVyLCBpbnB1dEN1cnJlbnRWYWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBwYXJzZWRNaW51dGVzOiBzdHJpbmcgPSBnZXRGb3JtYXR0ZWRUaW1lRGlnaXQobWludXRlcyk7XG4gICAgY29uc3QgeyBob3Vycywgc2Vjb25kcyB9OiBQYXJ0aWFsPFBhcnNlZFRpbWVEYXRhPiA9IHRoaXMuZ2V0UGFyc2VkVGltZURhdGEoaW5wdXRDdXJyZW50VmFsdWUpO1xuXG4gICAgcmV0dXJuIGAke2hvdXJzfToke3BhcnNlZE1pbnV0ZXN9OiR7c2Vjb25kc31gO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRVcGRhdGVkVmFsdWVTdHJpbmdBZnRlclNlbGVjdFNlY29uZHMoc2Vjb25kczogbnVtYmVyLCBpbnB1dEN1cnJlbnRWYWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBwYXJzZWRTZWNvbmRzOiBzdHJpbmcgPSBnZXRGb3JtYXR0ZWRUaW1lRGlnaXQoc2Vjb25kcyk7XG4gICAgY29uc3QgeyBob3VycywgbWludXRlcyB9OiBQYXJ0aWFsPFBhcnNlZFRpbWVEYXRhPiA9IHRoaXMuZ2V0UGFyc2VkVGltZURhdGEoaW5wdXRDdXJyZW50VmFsdWUpO1xuXG4gICAgcmV0dXJuIGAke2hvdXJzfToke21pbnV0ZXN9OiR7cGFyc2VkU2Vjb25kc31gO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRQYXJzZWREYXRlRGF0YShpbnB1dFZhbHVlOiBzdHJpbmcpOiBQYXJzZWREYXRlRGF0YSB7XG4gICAgY29uc3QgZGVmYXVsdERhdGVQYXJ0czogc3RyaW5nW10gPSBbJzAwJywgJzAwJywgJzAwMDAnXTtcbiAgICBjb25zdCBhbGxvd2VkVGltZVBhcnRzTGVuZ3RoOiBudW1iZXIgPSBkZWZhdWx0RGF0ZVBhcnRzLmxlbmd0aDtcblxuICAgIGNvbnN0IGNvbnZlcnRlZERlZmF1bHREYXRlUGFydHM6IHN0cmluZyA9IGRlZmF1bHREYXRlUGFydHMuam9pbignLicpO1xuXG4gICAgY29uc3Qgc2VyaWFsaXplZFZhbHVlOiBzdHJpbmcgPSBpc05pbChpbnB1dFZhbHVlKSA/IGNvbnZlcnRlZERlZmF1bHREYXRlUGFydHMgOiBpbnB1dFZhbHVlO1xuICAgIGNvbnN0IHBhcnNlZERhdGVQYXJ0czogc3RyaW5nW10gPSBzZXJpYWxpemVkVmFsdWUuc3BsaXQoJy4nKTtcblxuICAgIGNvbnN0IGRhdGVQYXJ0czogc3RyaW5nW10gPSBbLi4ucGFyc2VkRGF0ZVBhcnRzLCAuLi5kZWZhdWx0RGF0ZVBhcnRzXS5zbGljZSgwLCBhbGxvd2VkVGltZVBhcnRzTGVuZ3RoKTtcblxuICAgIHJldHVybiB7IGRheTogZGF0ZVBhcnRzWzBdLCBtb250aDogZGF0ZVBhcnRzWzFdLCB5ZWFyOiBkYXRlUGFydHNbMl0gfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UGFyc2VkTnVtZXJpY1RpbWVEYXRhKGlucHV0VmFsdWU6IHN0cmluZyk6IE51bWVyaWNQYXJzZWRUaW1lRGF0YSB7XG4gICAgY29uc3QgeyBob3VycywgbWludXRlcywgc2Vjb25kcyB9OiBQYXJzZWRUaW1lRGF0YSA9IElucHV0RGF0ZVRpbWVIZWxwZXIuZ2V0UGFyc2VkVGltZURhdGEoaW5wdXRWYWx1ZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaG91cnM6IE51bWJlcihob3VycyksXG4gICAgICBtaW51dGVzOiBOdW1iZXIobWludXRlcyksXG4gICAgICBzZWNvbmRzOiBOdW1iZXIoc2Vjb25kcyksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UGFyc2VkVGltZURhdGEoaW5wdXRWYWx1ZTogc3RyaW5nKTogUGFyc2VkVGltZURhdGEge1xuICAgIGNvbnN0IGRlZmF1bHRUaW1lUGFydHM6IHN0cmluZ1tdID0gWycwMCcsICcwMCcsICcwMCddO1xuICAgIGNvbnN0IGFsbG93ZWRUaW1lUGFydHNMZW5ndGg6IG51bWJlciA9IGRlZmF1bHRUaW1lUGFydHMubGVuZ3RoO1xuXG4gICAgY29uc3QgY29udmVydGVkRGVmYXVsdFRpbWVQYXJ0czogc3RyaW5nID0gZGVmYXVsdFRpbWVQYXJ0cy5qb2luKCc6Jyk7XG5cbiAgICBjb25zdCBzZXJpYWxpemVkVmFsdWU6IHN0cmluZyA9IGlzTmlsKGlucHV0VmFsdWUpID8gY29udmVydGVkRGVmYXVsdFRpbWVQYXJ0cyA6IGlucHV0VmFsdWU7XG4gICAgY29uc3QgcGFyc2VkVGltZVBhcnRzOiBzdHJpbmdbXSA9IHNlcmlhbGl6ZWRWYWx1ZVxuICAgICAgLnNwbGl0KCc6JylcbiAgICAgIC5tYXAoKHRpbWVQYXJ0OiBzdHJpbmcpID0+IGdldEZvcm1hdHRlZFRpbWVEaWdpdChOdW1iZXIodGltZVBhcnQpKSk7XG5cbiAgICBjb25zdCB0aW1lUGFydHM6IHN0cmluZ1tdID0gWy4uLnBhcnNlZFRpbWVQYXJ0cywgLi4uZGVmYXVsdFRpbWVQYXJ0c10uc2xpY2UoMCwgYWxsb3dlZFRpbWVQYXJ0c0xlbmd0aCk7XG5cbiAgICByZXR1cm4geyBob3VyczogdGltZVBhcnRzWzBdLCBtaW51dGVzOiB0aW1lUGFydHNbMV0sIHNlY29uZHM6IHRpbWVQYXJ0c1syXSB9O1xuICB9XG59XG4iXX0=