Hi Wix Code community,
I’m trying to add a second list that works as an additional filter like the post example “How to Create a Search for Your Database Collection” https://www.wix.com/code/home/example/How-to-Create-a-Search-for-Your-Database-Collection… Can someone help me with the correct code? This is the code that I have until now.
import wixData from “wix-data”;
$w.onReady(() => {
loadContinents();
loaddropdowns();
});
let lastFilterTitle;
let lastFilterContinent;
let lastFilterContinent2;
let debounceTimer;
export function iTitle_keyPress(event, $w) {
if (debounceTimer) {
clearTimeout(debounceTimer);
debounceTimer = undefined;
}
debounceTimer = setTimeout(() => {
filter($w(‘#iTitle’).value, lastFilterContinent, lastFilterContinent2);
}, 500);
}
export function iContinent_change(event, $w) {
filter(lastFilterTitle, $w(‘#iContinent’).value);
}
export function dropdown1_change(event, $w) {
filter(lastFilterTitle, $w(‘#dropdown1’).value);
}
function filter(title, continent, dropdown) {
if (lastFilterTitle !== title || lastFilterContinent !== continent || lastFilterContinent2 !== dropdown) {
let newFilter = wixData.filter();
if (title)
newFilter = newFilter.contains(‘nombre’, title);
if (continent)
newFilter = newFilter.contains(‘departamento’, continent);
if (dropdown)
newFilter = newFilter.contains(‘e-mail’, dropdown);
$w(‘#dataset1’).setFilter(newFilter);
lastFilterTitle = title;
lastFilterContinent = continent;
lastFilterContinent2 = dropdown;
}
}
function loadContinents() {
wixData.query(‘Skill’)
.find()
.then(res => {
let options = [{ “value”: ‘’, “label”: ‘All Continents’ }];
options.push(…res.items.map(continent => {
return { “value”: continent.title, “label”: continent.title };
}));
$w(‘#iContinent’).options = options;
});
}
function loaddropdowns() {
wixData.query(‘Login’)
.find()
.then(res => {
let options = [{ “value”: ‘’, “label”: ‘All Continents’ }];
options.push(…res.items.map(dropdown => {
return { “value”: dropdown.title, “label”: dropdown.title };
}));
$w(‘#dropdown1’).options = options;
});
}
Any advice is GREATLY appreciated!