Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | 497x 497x 497x 497x 497x 66x 66x 186x 497x 22x 22x 497x | /* * Copyright 2021 Harness Inc. All rights reserved. * Use of this source code is governed by the PolyForm Shield 1.0.0 license * that can be found in the licenses directory at the root of this repository, also available at * https://polyformproject.org/wp-content/uploads/2020/06/PolyForm-Shield-1.0.0.txt. */ import React from 'react' import { Layout, SelectOption, Text, Container, Select } from '@wings-software/uicore' import { zeroFiftyNineDDOptions, amPmOptions, oneTwelveDDOptions } from './TimeSelectUtils' import css from './TimeSelect.module.scss' interface TimeSelectPropsInterface { label?: string handleHoursSelect: (option: SelectOption) => void handleMinutesSelect: (option: SelectOption) => void handleSecondsSelect?: (option: SelectOption) => void handleAmPmSelect: (option: SelectOption) => void hoursValue: SelectOption | string minutesValue: SelectOption | string secondsValue?: SelectOption | string amPmValue: SelectOption | string disabled?: boolean className?: string hideSeconds?: boolean } const getSelectValueOption = (val: string | SelectOption, options: SelectOption[]): any => { Iif (Array.isArray(val)) { return val } else Eif (options && val) { return options.find((option: SelectOption) => option.value === val) } return undefined } const TimeSelect: React.FC<TimeSelectPropsInterface> = props => { const { label, className, hoursValue, minutesValue, secondsValue, amPmValue, handleHoursSelect, handleMinutesSelect, handleSecondsSelect, handleAmPmSelect, hideSeconds, disabled } = props return ( <Container data-name="timeselect" className={className ? className : ''}> {label && <Text className={css.label}>{label}</Text>} <Layout.Horizontal spacing="xsmall"> <Select className={css.selectStyle} value={getSelectValueOption(hoursValue, oneTwelveDDOptions)} items={oneTwelveDDOptions} onChange={handleHoursSelect} disabled={disabled} /> <Select className={css.selectStyle} value={getSelectValueOption(minutesValue, zeroFiftyNineDDOptions)} items={zeroFiftyNineDDOptions} onChange={handleMinutesSelect} disabled={disabled} /> {!hideSeconds && ( <Select className={css.selectStyle} value={secondsValue && getSelectValueOption(secondsValue, zeroFiftyNineDDOptions)} items={zeroFiftyNineDDOptions} onChange={handleSecondsSelect} disabled={disabled} /> )} <Select className={css.selectStyle} value={getSelectValueOption(amPmValue, amPmOptions)} items={amPmOptions} onChange={handleAmPmSelect} disabled={disabled} /> </Layout.Horizontal> </Container> ) } export default TimeSelect |