Bug 23697: (follow-up) Add autocompletion search in patron module
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / includes / js_includes.inc
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE AudioAlerts %]
4 [% USE To %]
5 [%# Prevent XFS attacks -%]
6 [% UNLESS popup %]
7     <script>
8        if (self === top) {
9            var antiClickjack = document.getElementById("antiClickjack");
10            antiClickjack.parentNode.removeChild(antiClickjack);
11        } else {
12            top.location = self.location;
13        }
14     </script>
15 [% END %]
16
17 [% Asset.js("lib/jquery/jquery-2.2.3.min.js") | $raw %]
18 [% Asset.js("lib/jquery/jquery-migrate-1.3.0.min.js") | $raw %]
19 [% Asset.js("lib/jquery/jquery-ui-1.11.4.min.js") | $raw %]
20 [% Asset.js("lib/shortcut/shortcut.js") | $raw %]
21 [% Asset.js("lib/jquery/plugins/jquery.cookie.min.js") | $raw %]
22 [% Asset.js("lib/jquery/plugins/jquery.highlight-3.js") | $raw %]
23 [% Asset.js("lib/bootstrap/bootstrap.min.js") | $raw %]
24 [% Asset.js("lib/jquery/plugins/jquery.validate.min.js") | $raw %]
25 <!-- koha core js -->
26 [% Asset.js("js/staff-global.js") | $raw %]
27 [% Asset.js("js/commons.js") | $raw %]
28
29 [% INCLUDE 'validator-strings.inc' %]
30 [% IF ( IntranetUserJS ) %]
31     <script>
32     [% IntranetUserJS | $raw %]
33     </script>
34 [% END %]
35
36 [% IF ( virtualshelves || intranetbookbag ) %]
37     <script>
38         var MSG_BASKET_EMPTY = _("Your cart is currently empty");
39         var MSG_RECORD_IN_BASKET = _("This item is already in your cart");
40         var MSG_RECORD_ADDED = _("This item has been added to your cart");
41         var MSG_NRECORDS_ADDED = _("%s item(s) added to your cart");
42         var MSG_NRECORDS_IN_BASKET = _("%s already in your cart");
43         var MSG_NO_RECORD_SELECTED = _("No item was selected");
44         var MSG_NO_RECORD_ADDED = _("No item was added to your cart (already in your cart)!");
45         var MSG_CONFIRM_DEL_BASKET = _("Are you sure you want to empty your cart?");
46         var MSG_CONFIRM_DEL_RECORDS = _("Are you sure you want to remove the selected items?");
47         var MSG_IN_YOUR_CART = _("Items in your cart: %s");
48         var MSG_NON_RESERVES_SELECTED = _("One or more selected items cannot be reserved.");
49         var MSG_ITEM_NOT_IN_CART = _("Add to cart");
50         var MSG_ITEM_IN_CART = _("In your cart");
51         var MSG_RECORD_REMOVED = _("The item has been removed from your cart");
52     </script>
53
54     [% Asset.js("js/basket.js") | $raw %]
55 [% END %]
56
57 [% IF LocalCoverImages %]
58     [% Asset.js("js/localcovers.js") | $raw %]
59     <script>
60         var NO_LOCAL_JACKET = _("No cover image available");
61     </script>
62 [% END %]
63
64 [% IF Koha.Preference('AudioAlerts') || AudioAlertsPage %]
65     <script>
66         var AUDIO_ALERT_PATH = '[% interface | html %]/[% theme | html %]/sound/';
67         var AUDIO_ALERTS = JSON.parse( "[% To.json(AudioAlerts.AudioAlerts) | $raw %]" );
68
69         $( document ).ready(function() {
70             if ( AUDIO_ALERTS ) {
71                 for ( var k in AUDIO_ALERTS ) {
72                     var alert = AUDIO_ALERTS[k];
73                     if ( $( alert.selector ).length ) {
74                         playSound( alert.sound );
75                         break;
76                     }
77                 }
78             }
79         });
80     </script>
81 [% END %]
82
83 [% IF ( CAN_user_circulate_circulate_remaining_permissions ) %]
84     [% IF ( PatronAutocompletion ) %]
85         <script>
86             $(document).ready(function(){
87                 var obj = $( "#findborrower" ).autocomplete({
88                     source: "/cgi-bin/koha/circ/ysearch.pl",
89                     minLength: 3,
90                     select: function( event, ui ) {
91                         window.location.href = ui.item.link;
92                     }
93                 }).data( "ui-autocomplete" );
94                 if( obj ) {
95                     obj._renderItem = function( ul, item ) {
96                         item.link = "/cgi-bin/koha/circ/circulation.pl?borrowernumber=" + item.borrowernumber;
97                         var cardnumber = "";
98                         if( item.cardnumber != "" ){
99                             // Display card number in parentheses if it exists
100                             cardnumber = " (" + item.cardnumber + ") ";
101                         }
102                         return $( "<li></li>" )
103                         .data( "ui-autocomplete-item", item )
104                         .append( "<a href=\"" + item.link + "\">" + item.surname + ", " + item.firstname + cardnumber + " <small>" + item.dateofbirth + " " + item.address + " " + item.city + " " + item.zipcode + " " + item.country + "</small></a>" )
105                         .appendTo( ul );
106                     };
107                 }
108             });
109         </script>
110     [% END %]
111 [% END %]
112 [% IF ( PatronAutocompletion ) %]
113     <script>
114     $(document).ready(function(){
115         var obj = $( "#searchmember" ).autocomplete({
116             source: "/cgi-bin/koha/circ/ysearch.pl",
117             minLength: 3,
118             select: function( event, ui ) {
119                 window.location.href = ui.item.link;
120             }
121         }).data( "ui-autocomplete" );
122         if( obj ) {
123             obj._renderItem = function( ul, item ) {
124                 item.link = "/cgi-bin/koha/circ/circulation.pl?borrowernumber=" + item.borrowernumber;
125                 var cardnumber = "";
126                 if( item.cardnumber != "" ){
127                     // Display card number in parentheses if it exists
128                     cardnumber = " (" + item.cardnumber + ") ";
129                 }
130                 return $( "<li></li>" )
131                 .data( "ui-autocomplete-item", item )
132                 .append( "<a href=\"" + item.link + "\">" + item.surname + ", " + item.firstname + cardnumber + " <small>" + item.dateofbirth + " " + item.address + " " + item.city + " " + item.zipcode + " " + item.country + "</small></a>" )
133                 .appendTo( ul );
134             };
135         }
136     });
137     </script>
138 [% END %]