Как получить задачи из календарей Thunderbird / Lightning? - PullRequest
1 голос
/ 11 июля 2011

Я не могу найти, как получить все задачи календаря в Молнии.Я думал, что функции getItem() и getItems() из интерфейса calICalendar ( здесь ) были решением, но я не мог заставить его работать должным образом.

Ответы [ 2 ]

2 голосов
/ 11 июля 2011

Вы идете в правильном направлении.Вам просто нужно передать флаг, который вы хотите только todos.Пример можно найти здесь .

Чтобы подробнее остановиться на приведенном ниже примере, есть несколько синтаксических ошибок, и вам могут потребоваться другие флаги.Я не уверен, зачем нужно оповещение, это звучит для меня так, будто цикл событий не вращается.В каком контексте вы называете эти биты?

Попробуйте это:

var arrayItems = new Array();

var todoListener = {
    onOperationComplete: function(aCalendar, aStatus, aOperationType, aId, aDetail) {},
    onGetResult: function(aCalendar, aStatus, aItemType, aDetail, aCount, aItems) {  
        arrayItems = arrayItems.concat(aItems);
    }
};

var filter = aCalendar.ITEM_FILTER_TYPE_TODO | aCalendar.ITEM_FILTER_COMPLETED_ALL;
aCalendar.getItems(filter, 0, null, null, todoListener);
1 голос
/ 13 июля 2011

Благодаря вашему примеру я понял, как реализовать слушателя, который был моей главной проблемой.

Итак, что я кодирую:

var arrayItem = new Array; ;

    var todoListener = 
    {
        onOperationComplete: function(aCalendar, aStatus, aOperationType, aId, aDetail) {},
        onGetResult: function(aCalendar, aStatus, aItemType, aDetail, aCount, aItems) 
        {    
            for (let i=0; i < aCount; i++) 
            {
                arrayItem.push(aItems[i]);
            }           
        }
    };

    var filter = aCalendar.ITEM_FILTER_ALL_ITEMS;
    filter |= aCalendar.ITEM_FILTER_TYPE_TODO;
    aCalendar.getItems(filter, 0, null, null, todoListener);

Однако у меня действительно странная проблемаВот.На самом деле, я не получаю задачи с этим кодом.Я должен добавить alert("something"); после метода getItems (), чтобы заполнить мой arrayItem.Остальное пусто.

...