janodvarko/ccdump — pull request #10 by palant (2012-07-02 13:17:02+00:00)
Title: User interface improvements

There is a bunch of unrelated minor changes here: fixed various JavaScript strict warnings (in at least one case the warning actually indicated a bug), added a Python script for use with Extension Auto-Installer (yes, yet another build environment), fixed Roots tab being permanent (inconsistent). The main change here is a different table view based on [SlickGrid](https://github.com/mleibman/SlickGrid/) however. Why I did this:

* No pagination necessary: SlickGrid will display even large lists efficiently - the entries are only rendered when required.
* Better performance: even displaying 500 entries per page caused a noticeable delay.
* Better display of owners and edges: the edge name and target are actually displayed inline without having to expand anything (tooltip will display more information). The number of edges/owners links to the details page where full information is available.
* Fixed row height: If something doesn't fit in then it is cut off, rest of the text is visible in the tooltip. A single row with masses of content doesn't make scrolling hard.
* Column resizing/reordering and potentially also sorting/filtering: these features are built into SlickGrid and don't require any code whatsoever.

The implementation is somewhat hacky, I also didn't bother removing code that is no longer used. The grid doesn't adapt to the window being resized (shouldn't be hard to change). Most importantly however, the changes aren't complete: the Details view needs to be improved next. I think that it should be possible to open multiple Details tabs, one for each object. Tab title should be something like "Details (0x12345678)" then. And it also needs to present the information better: the regular fields should be followed by two table views displaying edges and owners. So you will see all the edges and owners at one glance.

I would like to get your feedback on these changes before I proceed.