- remove preprocessing step in favour of some JS dynamism love
- much improved invalid-date/null/etc. argument handling in the ICS service
- better management of stampDate and lastModifiedTime
- unification of immutable checks
- test for attendee cloning
r=mvl.
- add an icalProperty getter/setter for serialization (yet to come).
- fix bogus assertion
- throw NOT_IMPLEMENTED for getOccurrences, rather than NS_OK crash bait.
from libical changes, and a vastly improved debugging experience.
The requisite data validation is coming once I figure out how best to
get libical to do that validation in any reasonable fashion whatsoever.
- Remove METHOD from calIItemBase, as it's a bit of ICS specificity that should
live elsewhere for manipulation in calling code.
- Remove useless getAttendees/setAttendees from calIIcalComponent, now that
real property/parameter support exists.
- Unify property/x-property interfaces as much as possible.
- Likewise for parameters/x-parameters.
- Real property and parameters support, sufficient at least to whack ATTENDEE
props in interesting ways.
- Properties on calIAttendee (mapped generally to ICS parameters, though
somewhat fragilely).
- Round-trip X-WHATEVER ICS properties and params reliably.
- Attendee serialization/deserialization in calItemBase.
- In various places, SetIsVoid on empty strings returned to signify
missing property/parameters. Nicer from JS, to be sure.
- Fix test cases and one little spot in Sunbird to keep up.
CalDAV event modification works now.
the absence of integer-valued properties consistently.
- Add calIIcalComponent.INVALID_VALUE for just that purpose.
- Use the same constant values for method in calIItemBase as we use in
calIIcalComponent, for the sake of my sanity. (Tempted to just remove them
and have people who care about setting .method do it on the icalComponent
of their choice.)
- Make calIItemBase.generation unsigned, since 0 means not-stored.
- Voidify string properties returned from calICSService to indicate a missing
property.
- Don't propagate null or INVALID_VALUE props when copying to/from ICS.
- calIItemBase.generation has precisely nothing to do with ICS VERSION, so
remove the mapping.
- set prodid and version in generated ICS
- don't set empty-valued properties on the icalcomp; it makes some
parsers sad
- save the listener's "outer this" so that we find it to call the notification
methods on when adding an item is well and truly done.
Can now create events on a CalDAV server.
- icalComponent getter on calIItemBase to aid in serializing multiple
components, such as to write out an entire calendar as ICS (say).
- Fix DATE property handling in the ICS service, no thanks at all to libical's
use of obfuscated void * as its type for everything.
- warning fixes in calDateTime, calRecurrenceInfo.
- use CalDateTime constructor instead of helper function.
- calEvent.icalString setter basics implemented (no attendees yet)
- simple test case for icalString setter.
(the calEvent.prototype object, in fact). Use .apply to get the behaviour
I meant all along.
(Also, some partial ICS-string setting/getting pieces, too lazy to extract
them from my tree.)
- calIAttendee interface
- calAttendee impl
- attendee-related methods on calIItemBase
- basic test suite for attendee stuff
- data-driven component/module/script loading and factory stuff
- suppress component loader error from it trying to load calEvent.js as a
component
- "make rebuild" target to rebuild .js from .js.pre
- chain calEvent's QI through its proto's
r=vlad,tab-police=mvl