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 | 497x 497x 497x 497x 34x 34x 137x 497x 17x 17x 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 { SelectOption, Select, Text, Container } from '@wings-software/uicore' import css from './Toothpick.module.scss' interface ToothpickPropsInterface { label?: string startValue: SelectOption startOptions: SelectOption[] handleStartValueChange: (option: SelectOption) => void endValue: SelectOption endOptions: SelectOption[] handleEndValueChange: (option: SelectOption) => void adjoiningText: string endingText?: string defaultFirstOptions?: boolean className?: string } 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 } // Component that allows you to pick from both sides const Toothpick: React.FC<ToothpickPropsInterface> = props => { const { label, startValue, startOptions, handleStartValueChange, endValue, endOptions, handleEndValueChange, adjoiningText, endingText, className } = props return ( <Container data-name="toothpick" className={className ? className : ''}> {label && <Text className={css.label}>{label}</Text>} <Container className={css.toothpick}> <Select className={css.selectStyle} value={getSelectValueOption(startValue, startOptions)} items={startOptions} onChange={handleStartValueChange} /> <Text className={css.adjoiningText}>{adjoiningText}</Text> <Select className={css.selectStyle} value={getSelectValueOption(endValue, endOptions)} items={endOptions} onChange={handleEndValueChange} /> {endingText && <Text className={css.adjoiningText}>{endingText}</Text>} </Container> </Container> ) } export default Toothpick |