Fixed: Tag inputs respect non-QWERTY layouts

pull/1689/head
Qstick 4 years ago
parent 5bbbe0d99d
commit 1c1158d74c

@ -135,7 +135,7 @@ class FilterBuilderRowValue extends Component {
tagList={tagList} tagList={tagList}
allowNew={!tagList.length} allowNew={!tagList.length}
kind={kinds.DEFAULT} kind={kinds.DEFAULT}
delimiters={[9, 13]} delimiters={['Tab', 'Enter']}
maxSuggestionsLength={100} maxSuggestionsLength={100}
minQueryLength={0} minQueryLength={0}
tagComponent={FilterBuilderRowValueTag} tagComponent={FilterBuilderRowValueTag}

@ -100,9 +100,9 @@ class TagInput extends Component {
suggestions suggestions
} = this.state; } = this.state;
const keyCode = event.keyCode; const key = event.key;
if (keyCode === 8 && !value.length) { if (key === 'Backspace' && !value.length) {
const index = tags.length - 1; const index = tags.length - 1;
if (index >= 0) { if (index >= 0) {
@ -116,7 +116,7 @@ class TagInput extends Component {
event.preventDefault(); event.preventDefault();
} }
if (delimiters.includes(keyCode)) { if (delimiters.includes(key)) {
const selectedIndex = this._autosuggestRef.highlightedSuggestionIndex; const selectedIndex = this._autosuggestRef.highlightedSuggestionIndex;
const tag = getTag(value, selectedIndex, suggestions, allowNew); const tag = getTag(value, selectedIndex, suggestions, allowNew);
@ -256,7 +256,7 @@ TagInput.propTypes = {
allowNew: PropTypes.bool.isRequired, allowNew: PropTypes.bool.isRequired,
kind: PropTypes.oneOf(kinds.all).isRequired, kind: PropTypes.oneOf(kinds.all).isRequired,
placeholder: PropTypes.string.isRequired, placeholder: PropTypes.string.isRequired,
delimiters: PropTypes.arrayOf(PropTypes.number).isRequired, delimiters: PropTypes.arrayOf(PropTypes.string).isRequired,
minQueryLength: PropTypes.number.isRequired, minQueryLength: PropTypes.number.isRequired,
hasError: PropTypes.bool, hasError: PropTypes.bool,
hasWarning: PropTypes.bool, hasWarning: PropTypes.bool,
@ -271,8 +271,7 @@ TagInput.defaultProps = {
allowNew: true, allowNew: true,
kind: kinds.INFO, kind: kinds.INFO,
placeholder: '', placeholder: '',
// Tab, enter, space and comma delimiters: ['Tab', 'Enter', ' ', ','],
delimiters: [9, 13, 32, 188],
minQueryLength: 1, minQueryLength: 1,
tagComponent: TagInputTag tagComponent: TagInputTag
}; };

Loading…
Cancel
Save