mirror of
https://github.com/Redocly/redoc.git
synced 2025-08-01 19:00:21 +03:00
DOP-3564: (latest) flag (#19)
This commit is contained in:
parent
82133beda4
commit
bee65e86ec
|
@ -3,18 +3,18 @@ import { StyledLi, StyledOptionText, StyledPlaceholder } from './styled.elements
|
||||||
import Checkmark from './CheckmarkSvg';
|
import Checkmark from './CheckmarkSvg';
|
||||||
import { OptionProps } from './types';
|
import { OptionProps } from './types';
|
||||||
|
|
||||||
export const Option = ({ option, selected, onClick }: OptionProps) => {
|
export const Option = ({ option, value, selected, onClick }: OptionProps) => {
|
||||||
const KEY_ENTER = 'ENTER';
|
const KEY_ENTER = 'ENTER';
|
||||||
const KEY_SPACE = 'SPACE';
|
const KEY_SPACE = 'SPACE';
|
||||||
|
|
||||||
const handleKeyPress = (event: React.KeyboardEvent) => {
|
const handleKeyPress = (event: React.KeyboardEvent) => {
|
||||||
if (event.key === KEY_ENTER || event.key === KEY_SPACE) {
|
if (event.key === KEY_ENTER || event.key === KEY_SPACE) {
|
||||||
onClick(option);
|
onClick(value);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<StyledLi onClick={() => onClick(option)} onKeyPress={handleKeyPress} selected={selected}>
|
<StyledLi onClick={() => onClick(value)} onKeyPress={handleKeyPress} selected={selected}>
|
||||||
{selected ? <Checkmark /> : <StyledPlaceholder />}
|
{selected ? <Checkmark /> : <StyledPlaceholder />}
|
||||||
<StyledOptionText>{option}</StyledOptionText>
|
<StyledOptionText>{option}</StyledOptionText>
|
||||||
</StyledLi>
|
</StyledLi>
|
||||||
|
|
|
@ -59,7 +59,8 @@ const VersionSelectorComponent = ({
|
||||||
<Option
|
<Option
|
||||||
key={`option-${i}`}
|
key={`option-${i}`}
|
||||||
selected={i === selectedIdx}
|
selected={i === selectedIdx}
|
||||||
option={option}
|
value={option}
|
||||||
|
option={`${option}${i === resourceVersions.length - 1 ? ' (latest)' : ''}`}
|
||||||
onClick={option => handleClick(i, option)}
|
onClick={option => handleClick(i, option)}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
|
|
|
@ -11,6 +11,7 @@ export interface VersionSelectorProps {
|
||||||
|
|
||||||
export interface OptionProps {
|
export interface OptionProps {
|
||||||
option: string;
|
option: string;
|
||||||
|
value: string;
|
||||||
selected: boolean;
|
selected: boolean;
|
||||||
onClick: (option: string) => void;
|
onClick: (option: string) => void;
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,7 +107,7 @@ exports[`VersionSelector should correctly render VersionSelector 1`] = `
|
||||||
<span
|
<span
|
||||||
class="sc-jrsJWt hDLwjI"
|
class="sc-jrsJWt hDLwjI"
|
||||||
>
|
>
|
||||||
2023-01-01
|
2023-01-01 (latest)
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user