Fix checking todo item that dont support due date (#19262)

* Fix checking todo item that dont support due date

* make cleaner

* Revert "make cleaner"

This reverts commit fa33b3361451dd334d9f69142f9754a1ea2c1ca4.

* Update dialog-todo-item-editor.ts

* do check in 1 place
This commit is contained in:
Bram Kragten 2024-01-03 14:58:36 +01:00 committed by GitHub
parent acbb7e0453
commit 8368fb4408
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 7 deletions

View File

@ -83,9 +83,12 @@ export const updateItem = (
item: item.uid,
rename: item.summary,
status: item.status,
description: item.description || null,
description: item.description,
due_datetime: item.due?.includes("T") ? item.due : undefined,
due_date: item.due?.includes("T") ? undefined : item.due || null,
due_date:
item.due === undefined || item.due?.includes("T")
? undefined
: item.due,
},
{ entity_id }
);
@ -102,7 +105,10 @@ export const createItem = (
item: item.summary,
description: item.description || undefined,
due_datetime: item.due?.includes("T") ? item.due : undefined,
due_date: item.due?.includes("T") ? undefined : item.due,
due_date:
item.due === undefined || item.due?.includes("T")
? undefined
: item.due,
},
{ entity_id }
);

View File

@ -476,7 +476,8 @@ export class HuiTodoListCard extends LitElement implements LovelaceCard {
return;
}
await updateItem(this.hass!, this._entityId!, {
...item,
uid: item.uid,
summary: item.summary,
status:
item.status === TodoItemStatus.NeedsAction
? TodoItemStatus.Completed

View File

@ -324,14 +324,20 @@ class DialogTodoItemEditor extends LitElement {
(this._todoListSupportsFeature(
TodoListEntityFeature.SET_DESCRIPTION_ON_ITEM
)
? // backend should accept null to clear the field, but it doesn't now
null
? null
: undefined),
due: this._due
? this._hasTime
? this._due.toISOString()
: this._formatDate(this._due)
: null,
: this._todoListSupportsFeature(
TodoListEntityFeature.SET_DUE_DATETIME_ON_ITEM
) ||
this._todoListSupportsFeature(
TodoListEntityFeature.SET_DUE_DATE_ON_ITEM
)
? null
: undefined,
status: this._checked
? TodoItemStatus.Completed
: TodoItemStatus.NeedsAction,