diff --git a/src/data/shopping-list.ts b/src/data/shopping-list.ts index ff156469d4..db9dd35709 100644 --- a/src/data/shopping-list.ts +++ b/src/data/shopping-list.ts @@ -11,26 +11,18 @@ export const fetchItems = (hass: HomeAssistant): Promise => type: "shopping_list/items", }); -export const saveEdit = ( +export const updateItem = ( hass: HomeAssistant, itemId: number, - name: string + item: { + name?: string; + complete?: boolean; + } ): Promise => hass.callWS({ type: "shopping_list/items/update", item_id: itemId, - name, - }); - -export const completeItem = ( - hass: HomeAssistant, - itemId: number, - complete: boolean -): Promise => - hass.callWS({ - type: "shopping_list/items/update", - item_id: itemId, - complete, + ...item, }); export const clearItems = (hass: HomeAssistant): Promise => diff --git a/src/panels/lovelace/cards/hui-shopping-list-card.ts b/src/panels/lovelace/cards/hui-shopping-list-card.ts index 05a53d88e0..547386901b 100644 --- a/src/panels/lovelace/cards/hui-shopping-list-card.ts +++ b/src/panels/lovelace/cards/hui-shopping-list-card.ts @@ -13,8 +13,7 @@ import { LovelaceCard } from "../types"; import { LovelaceCardConfig } from "../../../data/lovelace"; import { fetchItems, - completeItem, - saveEdit, + updateItem, ShoppingListItem, clearItems, addItem, @@ -257,15 +256,15 @@ class HuiShoppingListCard extends hassLocalizeLitMixin(LitElement) } private _completeItem(ev): void { - completeItem(this.hass!, ev.target.itemId, ev.target.checked).catch(() => - this._fetchData() - ); + updateItem(this.hass!, ev.target.itemId, { + complete: ev.target.checked, + }).catch(() => this._fetchData()); } private _saveEdit(ev): void { - saveEdit(this.hass!, ev.target.itemId, ev.target.value).catch(() => - this._fetchData() - ); + updateItem(this.hass!, ev.target.itemId, { + name: ev.target.value, + }).catch(() => this._fetchData()); ev.target.blur(); }