I have a repeater listing for rentals and renters.
I have a filter that is rent amount. If a record in my database is for a renter, I need the filter to grab all properties that have the dollar amount of the filter or less than that amount. If a record in the database is for a rental property, I need the filter to grab all of the renters that have the dollar amount or greater.
Below is my code that I am using:
import wixData from ‘wix-data’;
// For full API documentation, including code examples, visit Velo API Reference - Wix.com
$w.onReady( function () {
$w(“#RenterRepeater”).onItemReady(($w, itemData, index) => {
if (!itemData.propProfileName) {
$w(“#text1”).text = itemData.firstName;
} else $w(“#text1”).text = itemData.propProfileName;
});
$w("#RenterRepeater").onItemReady(($w, itemData, index) => {
const monthNames = [“JAN”, “FEB”, “MAR”, “APR”, “MAY”, “JUN”, “JUL”, “AUG”, “SEP”, “OCT”, “NOV”, “DEC”];
const strDateRenter = itemData.availability.getDate().toString();
const strMonthRenter = monthNames[itemData.availability.getMonth()];
const strYearRenter = itemData.availability.getFullYear().toString();
$w("#avail").text = strMonthRenter + " " + strDateRenter + ", " + strYearRenter;
console.log($w("#avail").text)
});
});
$w.onReady(() => {
$w(‘#dataset1’).onReady(() => {
$w('#dropdown1 , #citydropdown , #bedsdropdown , #bathsdropdown, #rentslider, #genderdropdown, #datePicker1').onChange(() => {
search();
})
$w('#clear').onClick(() => {
$w('#dropdown1 , #citydropdown , #bedsdropdown , #bathsdropdown, #rentslider, #genderdropdown, #datePicker1').value = "";
$w('#dataset1').setFilter(wixData.filter())
});
function search() {
wixData.WixDataQuery
let filter = wixData.filter();
let dropdown1 = $w(“#dropdown1”).value;
let citydropdown = $w(“#citydropdown”).value;
let bedsdropdown = $w(“#bedsdropdown”).value;
let bathsdropdown = $w(“#bathsdropdown”).value;
let rentslider = $w(“#rentslider”).value;
let genderdropdown = $w(“#genderdropdown”).value;
let datePicker1 = $w(“#datePicker1”).value;
if (citydropdown && citydropdown !== ‘-’) {
filter = filter.eq(“city”, citydropdown);
}
if (bedsdropdown && bedsdropdown !== ‘-’) {
filter = filter.ge(“noOfBeds”, bedsdropdown);
}
if (bathsdropdown && bathsdropdown !== ‘-’) {
filter = filter.ge(“noOfBaths”, bathsdropdown);
}
THIS IS THE FILTER CODE FOR THE SLIDER*
if (rentslider && rentslider !== ‘0’) {
filter = filter.le(“rent”, rentslider)
THIS IS THE FILTER CODE FOR THE SLIDER*
if (genderdropdown && genderdropdown !== ‘-’) {
filter = filter.eq(“gender”, genderdropdown);
}
if (datePicker1 && datePicker1 !== ‘-’) {
filter = filter.le(“availability”, datePicker1);
}
if (dropdown1 && dropdown1 === ‘Tenant’) {
filter = filter.eq(“memberType”, ‘1’);
}
if (dropdown1 && dropdown1 === ‘Home’) {
filter = filter.eq(“memberType”, ‘2’)
filter = filter.eq(“livingInHome”, ‘No’);
}
if (dropdown1 && dropdown1 === ‘Room’) {
filter = filter.eq(“memberType”, ‘2’)
filter = filter.eq(“livingInHome”, ‘Yes’);
}
$w(‘#dataset1’).setFilter(filter)
}
})
})