Question:
I have a website with properties, for each item I have a label that I only want to appear if it is not empty in the dataset. But when initially loading the page it works, but when live filtering with the buttons I created, sometimes the label background are this visible. Can someone help me figure out why, and how to solve it.
this is the code on my website
// Velo API Reference: https://www.wix.com/velo/reference/api-overview/introduction
import wixData from "wix-data";
$w.onReady(function () {
// labels
labels()
// filters
filters()
} );
function labels(){
$w('#buydataset').onReady(() => {
$w('#repeater6').forEachItem( ($w, itemData) => {
if(itemData.label === ""){
$w('#text136').hide();
$w('#box3').hide();
}
} );
});
}
function filters(){
const filterExclusive = wixData.filter().contains("category", "exclusive");
const filterPrestige = wixData.filter().contains("category", "prestige");
const filterSwimming = wixData.filter().contains("category", "swimming pool");
const filterRural = wixData.filter().contains("category", "rural living");
const filterVillage = wixData.filter().contains("category", "village life");
const filterGites = wixData.filter().contains("category", "homes with gites");
const filterNew = wixData.filter().eq("new", true);
const filters = [filterExclusive, filterPrestige, filterSwimming, filterRural, filterVillage, filterGites, filterNew]
let filter = wixData.filter()
for (let i= 0; i < 7; i++){
if ($w("#checkbox" + (i+1)).checked === true){
filter = filter.and(filters[i])
}
}
$w('#buydataset').onReady(() => {
$w('#buydataset').setFilter(filter)
labels()
});
}
export function checkbox1_click(event) {
if($w("#checkbox1").checked === false){
$w('#buydataset').onReady(() => {
$w("#buydataset").setFilter(wixData.filter());
});
}
filters()
}
export function checkbox2_click(event) {
if($w("#checkbox2").checked === false){
$w('#buydataset').onReady(() => {
$w("#buydataset").setFilter(wixData.filter());
});
}
filters()
}
export function checkbox3_click(event) {
if($w("#checkbox3").checked === false){
$w('#buydataset').onReady(() => {
$w("#buydataset").setFilter(wixData.filter());
});
labels()
}
filters()
}
export function checkbox4_click(event) {
if($w("#checkbox4").checked === false){
$w('#buydataset').onReady(() => {
$w("#buydataset").setFilter(wixData.filter());
});
}
filters()
}
export function checkbox5_click(event) {
if($w("#checkbox5").checked === false){
$w('#buydataset').onReady(() => {
$w("#buydataset").setFilter(wixData.filter());
});
}
filters()
}
export function checkbox6_click(event) {
if($w("#checkbox6").checked === false){
$w('#buydataset').onReady(() => {
$w("#buydataset").setFilter(wixData.filter());
});
}
filters()
}
export function checkbox7_click(event) {
if($w("#checkbox7").checked === false){
$w('#buydataset').onReady(() => {
$w("#buydataset").setFilter(wixData.filter());
});
}
filters()
}
And this is the link to the website page I am talking about