latin-language-toolkit/arethusa — pull request #321 by LFDM (2014-08-13 07:32:51+00:00)
Title: Reviewing + Updates to Plugin service + Updates of dependencyTree

First steps to real reviewing.

Diff comparisons between two trees are done inline through `jsondiffpatch` - we don't need to go to the external service (`llt-review`), as it would add lots of overhead for converting the info we already have in an easily parsable state.

This is still a bit unfinished, but basically working and as other development branches are dependenct on some of these changes, we merge prematurely.

Left to do:
- The `reviewReport` directive is currently deactivated and needs proper formatting.
- We want to show diff info in the contextMenus.

Apart from work on reviewing, some other areas also see improvements through this PR:

- `plugins` is more powerful now and provides helper methods to guarantee an `init()` order of plugins (`plugins.doAfter(plugin, initFn`)
- When moving from chunk to chunk, the currently selected plugins stays active.
- `configurator` received a new function, which plugins should use in their `configure()` functions, called `getStickyConf()`. This provides the ability to read in configuration options from conf files, which aren't overriden by subsequent `configure()` calls during an annotation session. E.g. when a user wants the `preselect` option in `morph` changed, it will stay changed when he moves from chunk to chunk.
- We are doing cleanups in `dependencyTree` - when we move to a new set of tokens, we clear our old graph and avoid having detached DOM elements flying around through the application. This also serves in covering up the possibly laggy transition effect of large trees. The transition isn't as nicely looking now, but much more consistent. Before it was either beautiful or horrible (because horribly lagging). Closes #122.