-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Combobox using Ariakit #218
base: main
Are you sure you want to change the base?
Conversation
remove "old" radix-ui combobox testing
Please set a versioning label of either |
Oppdaget at når man velger et element i lista med enter, så mister man fokus på lista og må "begynne på nytt". |
This comment was marked as resolved.
This comment was marked as resolved.
Legger inn eksemplet Ola sendte til meg som hans referanse: https://ariakit.org/examples/combobox-multiple |
Fixed issue where focus shifted to input field after selecting item with keyboard. Possibly also fixed weird focus border on zoomed out screens?
Fikset |
Trolig også fikset, klarer ikke gjenskape lenger. Mulig dette løste seg når jeg fiksa den focus-saken? 🤔 |
fix disabled text colors
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Daaaamnnn den var smooth! Komponenten er jo helt rå nå! |
La på en console.warn om deprecation på MdAutocomplete - vet ikke om det er lurt eller ikke? |
Fix search value not resetting after option select
This comment was marked as resolved.
This comment was marked as resolved.
fix no results styling added readme for combobox
This comment was marked as resolved.
This comment was marked as resolved.
This reverts commit a00bf27.
… feature/181-radix-ui-combobox
defaultOptions?: MdComboBoxOption[]; | ||
value: string | string[]; | ||
disabled?: boolean; | ||
errorText?: string; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Vi bruker ofte error + errorText, det burde kanskje også være her? Eller er det best å gå bort i fra det?
const [helpOpen, setHelpOpen] = useState(false); | ||
|
||
useEffect(() => { | ||
onSelectOption(selectedValues); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
denne trigger når komponenten rendres. Det ødelegger for eksempel for skjemavalidering her:
onSelectOption={value => {
console.log('value', value);
form.setFieldValue('ealHovedkapittel', value);
Siden setFieldValue har blitt touched pga komponenten trigget onSelectOption, får jeg "required" feilmelding før brukeren valgte noe.
Tror det er litt useeffect antipattern uansett, bedre at vi setter staten i eventen som trigger endringer i state:
<Ariakit.ComboboxProvider
id={comboBoxId}
selectedValue={selectedValues}
setSelectedValue={values => {
setSelectedValues(values);
onSelectOption(values);
}}
Jeg pusher den endringen nå for å teste videre! :)
…ue rather than in a useEffect (antipattern)
return defaultOptions; | ||
} | ||
|
||
// return matchSorter(options, searchValue, { keys: ['value'], threshold: matchSorter.rankings.CONTAINS }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Denne linja bør kanskje fjernes?
const [searchValue, setSearchValue] = useState(''); | ||
const [selectedValues, setSelectedValues] = useState<string[] | string>(value); | ||
const [helpOpen, setHelpOpen] = useState(false); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fant ut at man må håndtere caset der values endres fra utenfor komponenten, eks i mitt tilfelle for en filtrering som har en "reset all filters"-knapp som resetter verdien i Combobox. Combobox sine selectedValues er ikke da lenger i sync med values.
Legger på en usEffect for å fikse det:
useEffect(() => {
setSelectedValues(value);
}, [value]);
Men. Hva skal vi gjøre med searchValue? Er det greit at den henger igjen? Da ser det litt ut som man har valgt noe.
Kan eventuelt da endre til dette:
useEffect(() => {
setSelectedValues(value);
if (!value) {
setSearchValue('');
}
}, [value]);
Describe your changes
New component MdComboBox, meant to replace MdAutocomplete and MdMultiAutocomplete. Uses Ariakit as base, which handles all necessary aria and accessibility-stuff.
Switch between multi- and single select with
value
-prop. If an array of strings the combobox is mulitselect, if string; single.Example of usage in avfallsdeklarering:
Checklist before requesting a review
major
,minor
orpatch
)stories
-folder?packages/react/index.tsx
?packages/css/index.css
?