LP#1411699: Make Dojo conditional for advanced search
authorDan Scott <dscott@laurentian.ca>
Sun, 2 Apr 2017 14:45:00 +0000 (10:45 -0400)
committerBill Erickson <berickxx@gmail.com>
Thu, 3 Aug 2017 17:37:23 +0000 (13:37 -0400)
While the copy locations filter is a core feature, it surfaces only in the
advanced search page. The current behaviour forces Dojo and all of its
dependencies to be loaded for every catalogue page.

By making it conditional on the advanced search page, we save approximately
600ms to first meaningful paint on the rest of the catalogue pages.

To test:

[1] Apply the two-patch series
[2] After applying the patch, verify that the copy location filter
    on the advance search page functions. Also verify that
    the JavaScript on the record details page that tweaks
    the visiblity of sub-tabs in the added content tab
    continue to work.
[3] Verify that other components that currently depend on Dojo,
    such as the ebook API, continue to work.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/templates/opac/parts/header.tt2

index a0ffcb8..f61db05 100644 (file)
         END;
     END;
 
-    # Dojo is required to use the copy locations advanced search filter,
-    # therefore, it should always be enabled.
-    want_dojo = 1;
+    # Dojo is required for the copy locations advanced search filter
+    IF ctx.page == 'advanced';
+        want_dojo = 1;
+    END;
 
     use_autosuggest = ctx.get_cgf("opac.use_autosuggest");