Limit excess serial data fetching
Overfetching and duplication of data in the interface is both
inefficient and bug-inducing. This reduces a couple big offenders.
First, in the items tab, we will store distribution and subscription
data separately, rather than duplicating for every row. Second, we
will only redraw rows as needed rather than refresh the whole list so
often. Finally, we no longer need to lookup call numbers separately,
as they are included in the one-time distribution fetch.
Clean up and refine serial note support, part 1:
This commit fixes a number of minor problems with serial notes:
1) Serial notes are currently returned in "random" (database)
order. Adding a create_date sort is a sensible default.
2) If you have many notes, they start to display in a squashed and
unreadable fashion. Switching from a groupbox to a styled vbox
provides a simple workaround.
3) It is currently impossible to display newlines in notes. We can
deal with this by changing the display style.
Clean up and refine serial note support, part 2:
Because of the way our notes are being rendered, a handful of
special XML characters can break the note interface when editing.
These characters are now properly encoded as entities.
Also, editing of newlines presents a similar issue with different
consequences, and it is handled similarly but separately.
Clean up and refine serial note support, part 3:
Add needed menu entries for invoking the serial notes editor from
the list in the Items tab.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>