]> git.evergreen-ils.org Git - Evergreen.git/commit
LP#1777207: have eg-grid generate DOM nodes only for visible columns
authorGalen Charlton <gmc@equinoxinitiative.org>
Tue, 9 Jul 2019 18:43:18 +0000 (14:43 -0400)
committerDan Wells <dbw2@calvin.edu>
Thu, 18 Jul 2019 16:40:14 +0000 (12:40 -0400)
commitd3a2750a6b211ef02831b3ccc99c9b7bcc8dcc9f
treef4ae97d9835394f8544a7805344785e56c270c53
parenteb29c8b7883b16708b31a4b2f4af525c05d3b590
LP#1777207: have eg-grid generate DOM nodes only for visible columns

This patch changes an ng-show to an ng-if to generate DOM nodes
for grid cells only for visible columns. Prior to this patch, all
grid cells were generated, but the ones that corresponded to hidden
columns would simply be set as hidden.

By not generating the cells unless they're meant to be visible, grid
refreshes for wide grids (like the checkin table) render much more
quickly for a couple reasons:

- simply that there are fewer DOM nodes to process
- probably more importantly, fewer AngularJS watches get
  created

To test
-------
[1] In the checkin grid, check in a large number of items, then
    observe/profile timing as you change the number of visible rows.
[2] Apply the patch and repeat step 1. This time, the grid
    refreshe should be measurably (and visibly) faster.
[3] Test other AngularJS grids and verify that grid display and
    grid actions are normal.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Open-ILS/src/templates/staff/share/t_autogrid.tt2