Corvid Example: Search a Database

Hi everyone. Derived from the Wix Corvid example ‘Search a Database’, I am attempting to add query functionality to the filter function. I need the search query to filter off columns: Title, City, State, Services. The code below will only resolve queries from Title. Where am I going wrong??

import wixData from “wix-data”;

$w.onReady(() => {
loadContinents();
});

let lastFilterTitle;
let lastFilterContinent;
let lastFilterCity;
let debounceTimer;

export function iTitle_keyPress(event, $w) {
if (debounceTimer) {
clearTimeout(debounceTimer);
debounceTimer = undefined;
}
debounceTimer = setTimeout(() => {
filter($w(‘#iTitle’).value, lastFilterContinent, lastFilterCity);
}, 500);
}

export function iContinent_change(event, $w) {
filter(lastFilterTitle, $w(‘#iContinent’).value);
}

function filter(title, continent, city) {
if (lastFilterTitle !== title || lastFilterContinent !== continent || lastFilterCity !== city) {
let newFilter = wixData.filter();
if (title)
newFilter = newFilter.contains(‘title’, title);
if (continent)
newFilter = newFilter.contains(‘state’, continent);
if (city)
newFilter = newFilter.contains(‘city’, city);
$w(‘#dataset1’).setFilter(newFilter);
lastFilterTitle = title;
lastFilterContinent = continent;
lastFilterCity = city;
}
}

function loadContinents() {
wixData.query(‘States’)
.find()
.then(res => {
let options = [{“value”: ‘’, “label”: ‘All States’}];
options.push(…res.items.map(continent => {
return {“value”: continent.title, “label”: continent.title};
}));
$w(‘#iContinent’).options = options;
});

}