owncloud/documents — pull request #147 by kossebau (2013-12-03 19:33:22+00:00)
Title: Sync with webodf S82510ae020f8ee8a1f7b65a27b6af107b6023e90

* exposes some state-change/error events in the Editor API
* catches more possible errors and handles them
(e.g. staying cool on temporary disconnection to server, but warning about it)
* improves selection by mouse
* fixes selected paragraph style not being set to all selected paragraphs
* fixes leaking of some helper attributes into saved ODT files

The Editor API now has a method addEventListener(eventid, listener), which can be used to set handlers for these events ATM:
* Editor.EVENT_BEFORESAVETOFILE - no argument, emitted before saving file via server to filesystem starts
* Editor.EVENT_SAVEDTOFILE - no argument, emitted when saving file via server to filesystem is done (no error handling yet)
* Editor.EVENT_HASLOCALUNSYNCEDOPERATIONSCHANGED - boolean argument, reflecting new hasLocalUnsyncedOperations state
* Editor.EVENT_HASSESSIONHOSTCONNECTIONCHANGED - boolean argument, reflecting new hasSessionhostConnection state
* Editor.EVENT_ERROR - string argument, one of these errorcodes:
* "notMemberOfSession"
* "opExecutionFailure"
* "sessionDoesNotExist"
* "unknownOpReceived"
* "unknownServerReply"
* "unresolvableConflictingOps"

See the example code at https://github.com/kogmbh/WebODF/blob/master/programs/editor/collabeditor.js for some inspiration how to use it. Should help e.g. to solve issues #89, #67, #114

If other/more events would be interesting, please file issues for them with WebODF :)