mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-07-18 20:59:41 +02:00
fix: Preserve "Completed On" Date In Checked Shopping List Items (#5665)
This commit is contained in:
parent
5cf3e2565a
commit
63a4d4c801
1 changed files with 17 additions and 14 deletions
|
@ -707,7 +707,7 @@ export default defineNuxtComponent({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (hasChanged) {
|
if (hasChanged) {
|
||||||
updateListItems();
|
updateUncheckedListItems();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -727,7 +727,9 @@ export default defineNuxtComponent({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (hasChanged) {
|
if (hasChanged) {
|
||||||
updateListItems();
|
listItems.unchecked = [...listItems.unchecked, ...listItems.checked];
|
||||||
|
listItems.checked = [];
|
||||||
|
updateUncheckedListItems();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1051,8 +1053,13 @@ export default defineNuxtComponent({
|
||||||
.sort(sortCheckedItems);
|
.sort(sortCheckedItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update the item if it's checked, otherwise updateUncheckedListItems will handle it
|
||||||
|
if (item.checked) {
|
||||||
|
shoppingListItemActions.updateItem(item);
|
||||||
|
}
|
||||||
|
|
||||||
updateListItemOrder();
|
updateListItemOrder();
|
||||||
updateListItems();
|
updateUncheckedListItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteListItem(item: ShoppingListItemOut) {
|
function deleteListItem(item: ShoppingListItemOut) {
|
||||||
|
@ -1144,7 +1151,7 @@ export default defineNuxtComponent({
|
||||||
// since the user has manually reordered the list, we should preserve this order
|
// since the user has manually reordered the list, we should preserve this order
|
||||||
preserveItemOrder.value = true;
|
preserveItemOrder.value = true;
|
||||||
|
|
||||||
updateListItems();
|
updateUncheckedListItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateIndexUncheckedByLabel(labelName: string, labeledUncheckedItems: ShoppingListItemOut[]) {
|
function updateIndexUncheckedByLabel(labelName: string, labeledUncheckedItems: ShoppingListItemOut[]) {
|
||||||
|
@ -1167,7 +1174,7 @@ export default defineNuxtComponent({
|
||||||
// save changes
|
// save changes
|
||||||
listItems.unchecked = allUncheckedItems;
|
listItems.unchecked = allUncheckedItems;
|
||||||
listItems.checked = shoppingList.value?.listItems?.filter(item => item.checked) || [];
|
listItems.checked = shoppingList.value?.listItems?.filter(item => item.checked) || [];
|
||||||
updateListItems();
|
updateUncheckedListItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteListItems(items: ShoppingListItemOut[]) {
|
function deleteListItems(items: ShoppingListItemOut[]) {
|
||||||
|
@ -1187,27 +1194,23 @@ export default defineNuxtComponent({
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateListItems() {
|
function updateUncheckedListItems() {
|
||||||
if (!shoppingList.value?.listItems) {
|
if (!shoppingList.value?.listItems) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set Position
|
// Set position for unchecked items
|
||||||
shoppingList.value.listItems = listItems.unchecked.concat(listItems.checked).map((itm: ShoppingListItemOut, idx: number) => {
|
listItems.unchecked.forEach((item: ShoppingListItemOut, idx: number) => {
|
||||||
itm.position = idx;
|
item.position = idx;
|
||||||
return itm;
|
|
||||||
});
|
|
||||||
|
|
||||||
shoppingList.value.listItems.forEach((item) => {
|
|
||||||
shoppingListItemActions.updateItem(item);
|
shoppingListItemActions.updateItem(item);
|
||||||
});
|
});
|
||||||
|
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
addRecipeReferenceToList,
|
addRecipeReferenceToList,
|
||||||
updateListItems,
|
|
||||||
allLabels,
|
allLabels,
|
||||||
contextMenu,
|
contextMenu,
|
||||||
contextMenuAction,
|
contextMenuAction,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue