Hi J.D.
Below is my perfectly working code. As seen in the picture the row (firma) has the same value (for example “41medical”) multiple times. Whenever my website loads it shows the multiple entries. However I would like it to show “41medical” only one time when the page loads.
import wixData from ‘wix-data’;
let debounceTimer;
export function iTitle_keyPress(event, $w) {
let SearchValue = $w(“#iTitle”).value;
$w(“#dataset1”).setFilter(wixData.filter().contains(‘hauptkategorie’ , SearchValue)
.or(wixData.filter().contains(‘subkategorie’ , SearchValue)
.or(wixData.filter().contains(‘firma’ , SearchValue)
)))
}
if (debounceTimer) {
clearTimeout(debounceTimer);
debounceTimer = undefined;
}
debounceTimer = setTimeout(() => {
}, 200);
$w.onReady( function () {
uniqueDropDown1();
uniqueDropDown2();
repeater();
});
function repeater (){
wixData.query(“Memberlistev2”)
.limit(1000)
.find()
.then(results => {
const uniqueTitles = getUniqueTitles(results.items);
$w(“#repeater1”).options = buildOptions(uniqueTitles);
});
function getUniqueTitles(items) {
const titlesOnly = items.map(item => item.firma);
return [… new Set(titlesOnly)];
}
function buildOptions(uniqueList) {
return uniqueList.map(curr => {
return {label:curr, value:curr};
});
}
}
function uniqueDropDown1 (){
wixData.query(“Memberlistev2”)
.limit(1000)
.find()
.then(results => {
const uniqueTitles = getUniqueTitles(results.items);
$w(“#dropdown1”).options = buildOptions(uniqueTitles);
});
function getUniqueTitles(items) {
const titlesOnly = items.map(item => item.hauptkategorie);
return [… new Set(titlesOnly)];
}
function buildOptions(uniqueList) {
return uniqueList.map(curr => {
return {label:curr, value:curr};
});
}
}
export function dropdown1_onChange(event) {
$w(“#dataset1”).setFilter( wixData.filter()
.eq(“hauptkategorie”, $w(“#dropdown1”).value)
);
uniqueDropDown2();
}
function uniqueDropDown2 (){
wixData.query(“Memberlistev2”)
.contains(“hauptkategorie”, $w(“#dropdown1”).value)
.limit(1000)
.find()
.then(results => {
const uniqueTitles = getUniqueTitles(results.items);
$w(“#dropdown2”).options = buildOptions(uniqueTitles);
});
function getUniqueTitles(items) {
const titlesOnly = items.map(item => item.subkategorie);
return [… new Set(titlesOnly)];
}
function buildOptions(uniqueList) {
return uniqueList.map(curr => {
return {label:curr, value:curr};
});
}
}
export function dropdown2_onChange(event) {
$w(“#dropdown2”).enable();
locationBereichFilter2();
}
function locationBereichFilter2 (){
$w(“#dataset1”).setFilter( wixData.filter()
.eq(“subkategorie”, $w(“#dropdown2”).value)
.contains(“hauptkategorie”, $w(“#dropdown1”).value)
);
}
export function clearFIlters_onClick(event) {
$w(“#dataset1”).setFilter(wixData.filter(undefined));
$w(“#dropdown1”).value = 0;
$w(“#dropdown2”).value = 0;
$w(“#iTitle”).value = “”;
}