fix(education): improve some settings to make champ education more reliable

This commit is contained in:
Paul Chavard 2024-07-12 16:30:43 +02:00
parent fe37f1acfe
commit 91b398d039
No known key found for this signature in database
4 changed files with 14 additions and 9 deletions

View file

@ -10,6 +10,7 @@ class EditableChamp::AnnuaireEducationComponent < EditableChamp::EditableChampBa
selected_key: @champ.external_id,
items: @champ.selected_items,
loader: data_sources_data_source_education_path,
minimum_input_length: 3)
debounce: 500,
minimum_input_length: 5)
end
end

View file

@ -231,6 +231,7 @@ export function RemoteComboBox({
allowsCustomValue,
minimumInputLength,
limit,
debounce,
formValue,
name,
form,
@ -252,6 +253,7 @@ export function RemoteComboBox({
allowsCustomValue,
defaultItems,
defaultSelectedKey,
debounce,
load,
onChange: (item) => {
onChange?.(item);

View file

@ -427,14 +427,15 @@ export const createLoader: (
});
if (response.ok) {
const json = await response.json();
const [err, result] = s.validate(json, s.array(Item), { coerce: true });
const [err, items] = s.validate(json, s.array(Item), { coerce: true });
if (!err) {
const items = matchSorter(result, filterText, {
if (items.length > limit) {
const filteredItems = matchSorter(items, filterText, {
keys: ['label']
});
return {
items: limit ? items.slice(0, limit) : items
};
return { items: filteredItems.slice(0, limit) };
}
return { items };
}
}
return { items: [] };

View file

@ -67,7 +67,8 @@ export const RemoteComboBoxProps = s.assign(
selectedKey: s.nullable(s.string()),
minimumInputLength: s.number(),
limit: s.number(),
allowsCustomValue: s.boolean()
allowsCustomValue: s.boolean(),
debounce: s.number()
})
)
);