fix(core): tag inline editor filter should ignore case (#8936)
fix PD-1891
This commit is contained in:
@@ -55,20 +55,28 @@ export const TagsEditor = ({
|
|||||||
}: TagsEditorProps) => {
|
}: TagsEditorProps) => {
|
||||||
const t = useI18n();
|
const t = useI18n();
|
||||||
const [inputValue, setInputValue] = useState('');
|
const [inputValue, setInputValue] = useState('');
|
||||||
const filteredTags = tags.filter(tag => tag.value.includes(inputValue));
|
|
||||||
|
const trimmedInputValue = inputValue.trim();
|
||||||
|
|
||||||
|
const filteredTags = tags.filter(tag =>
|
||||||
|
tag.value.toLowerCase().includes(trimmedInputValue.toLowerCase())
|
||||||
|
);
|
||||||
const inputRef = useRef<HTMLInputElement>(null);
|
const inputRef = useRef<HTMLInputElement>(null);
|
||||||
|
|
||||||
const exactMatch = filteredTags.find(tag => tag.value === inputValue);
|
const exactMatch = filteredTags.find(tag => tag.value === trimmedInputValue);
|
||||||
const showCreateTag = !exactMatch && inputValue.trim();
|
const showCreateTag = !exactMatch && trimmedInputValue;
|
||||||
|
|
||||||
// tag option candidates to show in the tag dropdown
|
// tag option candidates to show in the tag dropdown
|
||||||
const tagOptions: TagOption[] = useMemo(() => {
|
const tagOptions: TagOption[] = useMemo(() => {
|
||||||
if (showCreateTag) {
|
if (showCreateTag) {
|
||||||
return [{ create: true, value: inputValue } as const, ...filteredTags];
|
return [
|
||||||
|
{ create: true, value: trimmedInputValue } as const,
|
||||||
|
...filteredTags,
|
||||||
|
];
|
||||||
} else {
|
} else {
|
||||||
return filteredTags;
|
return filteredTags;
|
||||||
}
|
}
|
||||||
}, [filteredTags, inputValue, showCreateTag]);
|
}, [filteredTags, showCreateTag, trimmedInputValue]);
|
||||||
|
|
||||||
const [focusedIndex, setFocusedIndex] = useState<number>(-1);
|
const [focusedIndex, setFocusedIndex] = useState<number>(-1);
|
||||||
const [focusedInlineIndex, setFocusedInlineIndex] = useState<number>(
|
const [focusedInlineIndex, setFocusedInlineIndex] = useState<number>(
|
||||||
|
|||||||
Reference in New Issue
Block a user