]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates/opac/parts/js.tt2
LP#1721575: Batch Actions In the Public Catalog
[Evergreen.git] / Open-ILS / src / templates / opac / parts / js.tt2
1 <!-- JS imports, etc.  -->
2 <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/simple.js[% ctx.cache_key %]"></script>
3 [% INCLUDE "opac/i18n_strings.tt2" %]
4
5 [% IF ctx.want_jquery %]
6 <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/common/build/js/jquery.min.js[% ctx.cache_key %]"></script>
7 [% END; # ctx.want_jquery %]
8
9 <!-- DOB validation for Patron Registration in OPAC -->
10 <script type="text/javascript">
11     function dobValidate(input) {
12         var validformat = /^(19|20)\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])$/
13         var returnval = false
14         if (!validformat.test(input.value))
15             alert("[% l('You have entered an invalid date, or an improperly formatted date.  Please enter Date of Birth in YYYY-MM-DD or YYYY/MM/DD format and try again.') %]")
16         else
17             returnval = true
18         if (returnval == false) input.select()
19         return returnval
20 }
21 </script>
22
23 [%- IF ctx.use_stripe %]
24 <script type="text/javascript">unHideMe($("pay_fines_now"));[%# the DOM is loaded now, right? %]</script>
25 [% END -%]
26
27 [%- IF ctx.is_staff %]
28 <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/staff.js[% ctx.cache_key %]"></script>
29     [% IF ctx.page == 'record' %]
30         [% IF ctx.search_result_index >= 0 %]
31         <script>
32             rdetail_next_prev_actions(
33                 "[% ctx.search_result_index %]",
34                 "[% ctx.hit_count %]",
35                 "[% ctx.prev_rec_url || '' %]",
36                 "[% ctx.next_rec_url || '' %]",
37                 "[% mkurl(ctx.first_search_record, {page => 0}) %]",
38                 "[% mkurl(ctx.opac_root _ '/results', {find_last => 1, page => POSIX.floor(ctx.hit_count / ctx.page_size)}) %]",
39                 "[% mkurl(ctx.opac_root _ '/results', {}, ['expand','cnoffset']) %]"
40             );
41         </script>
42         [% END %]
43         [% IF ctx.mfhd_summaries.size %]
44         <script>
45             window.mfhdDetails = [
46                 [% FOR summary IN ctx.mfhd_summaries %]
47                     [% IF summary.sre_id != -1 %]
48                 {
49                     'id' : '[% summary.sre_id %]', 
50                     'label' : '[% summary.location | replace("'", "\\'") %]',
51                     'entryNum' : [% loop.index %],
52                     'owning_lib' : '[% summary.owning_lib %]'
53                 },
54                     [% END %]
55                 [% END %]
56             ];
57         </script>
58         [% END %]
59     [% END %]
60 [%- END %]
61
62 [%- IF ENV.OILS_NOVELIST_URL AND ctx.page == 'record';
63     url = ENV.OILS_NOVELIST_URL;
64     IF CGI.https; url = url.replace('^http:', 'https:'); END; %]
65 <script type='text/javascript' id='EIT' src='[% url %]'></script>
66 [%- END %]
67 [%- IF ctx.page == 'record' AND ctx.google_books_preview %]
68 <script src='[% ctx.media_prefix %]/js/ui/default/opac/ac_google_books.js[% ctx.cache_key %]' async defer></script>
69 [%- END %]
70
71 <script>
72     window.egStrings = [];
73     window.egStrings['CONFIRM_BASKET_EMPTY'] = "[% l('Remove all records from basket?') %]";
74 </script>
75 <script src='[% ctx.media_prefix %]/js/ui/default/opac/record_selectors.js[% ctx.cache_key %]' async defer></script>
76
77 <!-- Require some inputs and selections for browsers that don't support required form field element -->
78 [% IF ctx.page == 'place_hold' %]
79   <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/holds-validation.js[% ctx.cache_key %]">
80   </script>
81 [% END %]
82
83 [%- IF want_dojo; -%]
84 <script type="text/javascript">
85      var djConfig = {
86          locale: "[% ctx.locale | lower | replace('_', '-') %]",
87          parseOnLoad: true,
88          isDebug: false
89      }, lang, bidi;
90 </script>
91 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/dojo/dojo.js?[% ctx.eg_cache_hash %]"></script>
92 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/dojo/openils_dojo.js?[% ctx.eg_cache_hash %]"></script>
93
94 [%- # So the following works in Mozilla and Chrome, but not in IE8.
95     # Seems like it /should/ work anywhere, though, and obviate the
96     # next three script tags: %]
97 <!-- <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/DojoSRF.js?[% ctx.eg_cache_hash %]"></script> -->
98
99 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/opensrf.js?[% ctx.eg_cache_hash %]"></script>
100 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/opensrf_xhr.js?[% ctx.eg_cache_hash %]"></script>
101 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/JSON_v1.js?[% ctx.eg_cache_hash %]"></script>
102
103 [% IF use_autosuggest.enabled == "t" AND basic_search != "f"; %]
104 <script type="text/javascript">
105     dojo.require("openils.widget.AutoSuggest");
106
107     /* Set focus, and place the cursor at the end of the input string */
108     dojo.addOnLoad(function() {
109         /* Don't error out if the object doesn't exist, like on advanced search pages */
110         if (dojo.byId('search_box')) {
111             dijit.byId('search_box').focus();
112
113             var sb_value = dijit.byId('search_box').value;
114             /* Dojo won't trigger a change if the value doesn't change */
115             if (sb_value) {
116                 dijit.byId('search_box').setValue(sb_value + ' ');
117                 dijit.byId('search_box').setValue(sb_value);
118             }
119         }
120     });
121 </script>
122 [% END; # use_autosuggest %]
123
124 [% INCLUDE "opac/parts/acjs.tt2" IF ctx.page == 'record' %]
125 [% IF ctx.page == 'advanced' %]
126 <script type="text/javascript" 
127     src="[% ctx.media_prefix %]/js/ui/default/opac/copyloc.js[% ctx.cache_key %]"></script>
128 [% END %]
129
130 [% IF ebook_api.enabled == 'true' %]
131     [% INCLUDE "opac/parts/ebook_api/base_js.tt2" %]
132     [% INCLUDE "opac/parts/ebook_api/login_js.tt2" IF (ctx.page == 'login') %]
133 [% END %]
134
135 <!-- provide a JS friendly org unit hash -->
136 <script type="text/javascript">
137 var aou_hash = {
138 [% FOR org_unit IN ctx.aou_list %]
139     [% org_unit.id %] : {
140         id : "[% org_unit.id %]",
141         name : "[% org_unit.name | replace('"', '\"') %]",
142         parent_ou : "[% org_unit.parent_ou %]",
143         depth : "[% org_unit.ou_type.depth %]",
144         can_have_vols : "[% org_unit.ou_type.can_have_vols %]"
145     }[%- ',' UNLESS loop.last -%]
146 [% END %]
147 };
148 </script>
149
150 <script type="text/javascript">if ($('client_tz_id')) { $('client_tz_id').value = OpenSRF.tz }</script>
151 [%- END; # want_dojo -%]
152
153 [%- IF ctx.max_cart_size; %]
154 <script type="text/javascript">var max_cart_size = [% ctx.max_cart_size %];</script>
155 [%- END; %]