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.
- 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.
- 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