Opened 10 years ago
Closed 10 years ago
#1916 closed enhancement (fixed)
List pages are loading annotations for non-visible columns
Reported by: | Nicklas Nordborg | Owned by: | everyone |
---|---|---|---|
Priority: | major | Milestone: | BASE 3.4.1 |
Component: | web | Version: | |
Keywords: | Cc: |
Description
The list pages in the web client that list annotatable items are loading all annotation no matter if the a column is visible or not. The typical code is something like this:
for (AnnotationLoaderUtil loader : annotationLoaders) { if (loader.find(snapshot)) { %> <tbl:cell column="<%="at"+loader.getId()%>"> <tbl:cellvalue list="<%=loader.getValues()%>" suffix="<%=loader.getUnitSymbol()%>" /> </tbl:cell> <% } }
The loader.find(snapshot)
is searching for and loading annotations, but they are only used inside the <tbl:cellvalue>
which is not called if the column is not visible. Since there is one column defined for every annotation type available this could be a potential performance issue.
Note:
See TracTickets
for help on using tickets.
(In [6711]) Fixes #1916: List pages are loading annotations for non-visible columns
Moved the call to
loader.find(snapshot)
inside the<tbl:cell>
tag which means that it is only executed for visible columns.Bad news is that this change conflicts with #1906 ([6690] and others) so merging to trunk will require some extra work.