]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/templates/opac/parts/js.tt2
TPAC added content improvements
[working/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"></script>
3
4 [%- IF ctx.is_staff %]
5 <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/staff.js"></script>
6     [% IF ctx.page == 'record' %]
7         [% IF ctx.search_result_index >= 0 %]
8         <script>
9             rdetail_next_prev_actions(
10                 "[% ctx.search_result_index %]",
11                 "[% ctx.hit_count %]",
12                 "[% ctx.prev_rec_url || '' %]",
13                 "[% ctx.next_rec_url || '' %]",
14                 "[% mkurl(ctx.first_search_record, {page => 0}) %]",
15                 "[% mkurl(ctx.opac_root _ '/results', {find_last => 1, page => POSIX.floor(ctx.hit_count / ctx.page_size)}) %]",
16                 "[% mkurl(ctx.opac_root _ '/results', {}, ['expand','cnoffset']) %]"
17             );
18         </script>
19         [% END %]
20         [% IF ctx.mfhd_summaries.size %]
21         <script>
22             window.mfhdDetails = [
23                 [% FOR summary IN ctx.mfhd_summaries %]
24                 {
25                     'id' : '[% summary.sre_id %]', 
26                     'label' : '[% summary.location %]',
27                     'entryNum' : '[% loop.index %]',
28                     'owning_lib' : '[% summary.owning_lib %]'
29                 },
30                 [% END %]
31             ];
32         </script>
33         [% END %]
34     [% END %]
35 [%- END %]
36
37 [%- IF ENV.OILS_NOVELIST_URL AND ctx.page == 'record';
38     url = ENV.OILS_NOVELIST_URL;
39     IF CGI.https; url = url.replace('^http:', 'https:'); END; %]
40 <script type='text/javascript' id='EIT' src='[% url %]'></script>
41 [%- END %]
42 [%- IF want_dojo; -%]
43 <script type="text/javascript">
44      var djConfig = {
45          locale: "[% ctx.locale | lower | replace('_', '-') %]",
46          parseOnLoad: true,
47          isDebug: false
48      }, lang, bidi;
49 </script>
50 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/dojo/dojo.js?[% ctx.eg_cache_hash %]"></script>
51 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/dojo/openils_dojo.js?[% ctx.eg_cache_hash %]"></script>
52
53 [%- # So the following works in Mozilla and Chrome, but not in IE8.
54     # Seems like it /should/ work anywhere, though, and obviate the
55     # next three script tags: %]
56 <!-- <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/DojoSRF.js?[% ctx.eg_cache_hash %]"></script> -->
57
58 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/opensrf.js?[% ctx.eg_cache_hash %]"></script>
59 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/opensrf_xhr.js?[% ctx.eg_cache_hash %]"></script>
60 <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/JSON_v1.js?[% ctx.eg_cache_hash %]"></script>
61
62 [% IF use_autosuggest.enabled == "t"; %]
63 <script type="text/javascript">
64     dojo.require("openils.widget.AutoSuggest");
65
66     /* Set focus, and place the cursor at the end of the input string */
67     dojo.addOnLoad(function() {
68         dijit.byId('search_box').focus();
69
70         var sb_value = dijit.byId('search_box').value;
71         /* Dojo won't trigger a change if the value doesn't change */
72         if (sb_value) {
73             dijit.byId('search_box').setValue(sb_value + ' ');
74             dijit.byId('search_box').setValue(sb_value);
75         }
76     });
77 </script>
78 [% END; # use_autosuggest %]
79
80
81 [% IF ctx.page == 'record' %]
82 <script type="text/javascript">
83
84     /* Checks to see if a given type of added content has data to show.
85      * The first arg to callback() is boolean indicating the presence of data.
86      */
87     function acIsAvailable(ident, type, callback) {
88         var url = '/opac/extras/ac/' + type + '/html/' + ident;
89         dojo.xhr('HEAD', {
90             url : url, 
91             failOk : true, // http://bugs.dojotoolkit.org/ticket/11568
92             error : function(err) { callback(false, ident, type); },
93             load : function(result) { callback(true, ident, type); }
94         });
95     }
96     [%-  # XXX revisit when ident=ctx.bre_id
97         ident = ctx.record_attrs.isbn_clean || ctx.record_attrs.upc; 
98         IF ident; 
99             FOR type IN ctx.added_content.keys;
100                 IF ctx.added_content.$type.status == '3' # status unknown %]
101                     dojo.addOnLoad(function() {
102                         var ident = '[% ident %]';
103                         var type = '[% type %]';
104                         acIsAvailable(ident, type, function(avail, ident, type) { 
105                             // if the content is available, un-hide the tab
106                             if (avail) dojo.removeClass(dojo.byId('ac:' + type), 'hidden');
107                         });
108                     });
109                 [% END; # IF status unknown
110             END; 
111         END; # IF ident
112     %]
113 </script>
114 [% END; # page=record -%]
115
116 [%- END; # want_dojo -%]