diff --git a/src/data/shopping-list.ts b/src/data/shopping-list.ts index ff156469d415..db9dd35709e0 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 1930dfbdfff0..9f04ebcdfb0f 100644 --- a/src/panels/lovelace/cards/hui-shopping-list-card.ts +++ b/src/panels/lovelace/cards/hui-shopping-list-card.ts @@ -12,8 +12,7 @@ import { HomeAssistant } from "../../../types"; import { LovelaceCard, LovelaceCardConfig } from "../types"; import { fetchItems, - completeItem, - saveEdit, + updateItem, ShoppingListItem, clearItems, addItem, @@ -256,15 +255,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(); }