mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-10-31 10:13:32 -04:00 
			
		
		
		
	fix: Preserve "Completed On" Date In Checked Shopping List Items (#5665)
This commit is contained in:
		| @@ -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, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user