Wire up edit, delete, and new-todo from the todo list. Try to make the todo

labels aligned correctly, still somewhat failing.
This commit is contained in:
shaver%mozilla.org 2005-07-07 15:28:57 +00:00
Родитель 751851a148
Коммит 4a173cbe16
3 изменённых файлов: 22 добавлений и 9 удалений

Просмотреть файл

@ -6,6 +6,7 @@ calendar-todo-item {
-moz-binding: url("calendar-todo-list.xml#calendar-todo-item");
}
.calendar-todo-item-label {
-moz-box-align: inherit;
.calendar-todo-item-label, .calendar-todo-item-checkbox {
-moz-box-align: center;
margin: 0px;
}

Просмотреть файл

@ -154,7 +154,7 @@
<binding id="calendar-todo-item" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
<content>
<xul:hbox flex="1">
<xul:hbox align="center" flex="1">
<xul:checkbox class="calendar-todo-item-checkbox" anonid="todo-check" xbl:inherits="checked=completed" oncommand="document.getBindingParent(this).updateTodoFromDisplay();"/>
<xul:label class="calendar-todo-item-label" anonid="todo-label" crop="end" xbl:inherits="item-calendar,value=label"/>
</xul:hbox>

Просмотреть файл

@ -7,20 +7,32 @@ function eventToTodo(event)
}
}
function handleTodoListEvent(event)
function editTodoItem(event)
{
var todo = eventToTodo(event);
var name = todo ? ('"' + todo.title + '"') : "<none>";
dump("Todo list event: " + event.type + " (" + name + ")\n");
if (todo)
modifyEventWithDialog(todo);
}
function newTodoItem(event)
{
createTodoWithDialog();
}
function deleteTodoItem(event)
{
var todo = eventToTodo(event);
if (todo)
todo.calendar.deleteItem(todo, null);
}
function initializeTodoList()
{
var todoList = document.getElementById("calendar-todo-list");
todoList.calendar = getCompositeCalendar();
todoList.addEventListener("todo-item-open", handleTodoListEvent, false);
todoList.addEventListener("todo-item-delete", handleTodoListEvent, false);
todoList.addEventListener("todo-empty-dblclick", handleTodoListEvent, false);
todoList.addEventListener("todo-item-open", editTodoItem, false);
todoList.addEventListener("todo-item-delete", deleteTodoItem, false);
todoList.addEventListener("todo-empty-dblclick", newTodoItem, false);
}
window.addEventListener("load", initializeTodoList, false);