hi everyone, I am attempting to make favourite functionality in repeater. instead of creating new entry for each userid and item, I was trying to push all items into a field say"itemsmarked" in a single entry for each user. I tried so many ways but I cannot get it done. any suggestion to achieve this? sorry for my limited English.
Karl
let findArray = [];
$w.onReady(function () {
$w('#repeater1').onItemReady(($item, itemData, index) => {
wixData.query("UserSubmission")
.eq("userId", wixUsers.currentUser.id)
.find()
.then((results) => {
let items = results.items;
for (var i = 0; i < results.items.length; i++) {
var array = items[i].itemsmarked;
findArray.push(array);
}
check();
})
$item('#unmarkedButton').onClick((event) => {
let toInsert = {
"mark": itemData._id,
"userId": wixUsers.currentUser.id
}
wixData.insert("UserSubmission", toInsert)
.then(() => {
$w('#dynamicDataset').refresh();
$item("#unmarkedButton").hide();
$item("#markedButton").show();
});
});
$item('#markedButton').onClick((event) => {
wixData.query("UserSubmission")
.eq("userId", wixUsers.currentUser.id)
.eq("itemsmarked", itemData._id)
.find()
.then((res) => {
let item = res.items[0];
let toRemoveId = item._id
wixData.remove("UserSubmission", toRemoveId)
.then(() => {
$w('#dynamicDataset').refresh();
$item("#unmarkedButton").show();
$item("#markedButton").hide();
});
});
});
});
});