как удалить будильник в молнии (в js)

Я ломаю голову, глядя на код... довольно долго.

У меня есть событие молнии, созданное из ics (включая сигнал тревоги). Я хочу удалить будильник после того, как что-то произошло. Я обнаружил, что в calItemBase есть mAlarms. Но как удалить отдельный будильник? (должен быть только один). Каково правильное значение mAlarms, если тревоги нет? Что делать с mAlarmLastAck и другими свойствами?

Мой обходной путь - воссоздать из ical без будильника, но тогда пользователь теряет категории и другие вещи, которые он установил для события в пользовательском интерфейсе.

Большое спасибо,

Клаус


person opto    schedule 22.09.2015    source источник


Ответы (1)


Сводку методов, которые должны быть общедоступными для элемента, можно увидеть здесь: http://mxr.mozilla.org/comm-central/source/calendar/base/public/calIItemBase.idl

В частности, есть метод deleteAlarm. Пример:

var alarms = item.getAlarms({});
item.deleteAlarm(alarms[0]);

Если вы уверены, что хотите удалить все тревоги, вы также можете использовать метод clearAlarms.

item.clearAlarms();
person Philipp Kewisch    schedule 23.09.2015
comment
мой позор - я действительно смотрел всего на несколько строк выше этого. Я потратил свое основное время, пытаясь понять диалог событий и то, что он делает с тревогами ..... В любом случае, большое спасибо - работает как шарм. И большое спасибо за то, что указали мне на файлы IDL - это очень помогает, потому что в них указаны типы/классы различных переменных-членов. Я потратил довольно много времени на выяснение того, что такое startdate (метод проб и ошибок при копировании вариантов даты всегда приводил к исключениям), пока не нашел его в calIEvent.idl Klaus. - person opto; 29.09.2015