Bug 29609: Centralized code to build the link to a biblio detail page
[koha.git] / koha-tmpl / opac-tmpl / bootstrap / en / modules / opac-shelves.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Koha %]
4 [% USE AdditionalContents %]
5 [% SET OpacNav = AdditionalContents.get( location => "OpacNav", lang => lang, library => logged_in_user.branchcode || default_branch, blocktitle => 0 ) %]
6 [% SET OpacNavBottom = AdditionalContents.get( location => "OpacNavBottom", lang => lang, library => logged_in_user.branchcode || default_branch, blocktitle => 0 ) %]
7 [% SET TagsShowEnabled = ( ( Koha.Preference( 'TagsEnabled' ) == 1 ) && Koha.Preference('TagsShowOnList') ) %]
8 [% SET TagsInputEnabled = ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) && Koha.Preference('TagsInputOnList') ) %]
9
10 [% BLOCK delete_shelf %]
11     <form action="/cgi-bin/koha/opac-shelves.pl" method="post" id="deleteshelf[% shelf.shelfnumber | html %]" class="d-inline">
12         <input type="hidden" name="op" value="delete" />
13         <input type="hidden" name="referer" value="list" />
14         <input type='hidden' name='public' value='[% public | html %]' />
15         <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
16         <button type="submit" class="btn btn-link remove deleteshelf" data-shelfnumber="[% shelf.shelfnumber | html %]" data-shelfname="[% shelf.shelfname | html %]" data-shared="[% shelf.is_shared | html %]" data-count="[% contents.count | html %]">
17             <i class="fa fa-remove" aria-hidden="true"></i>
18             [% IF ( context == "list" ) %]
19                 Delete
20             [% ELSE %]
21                 Delete list
22             [% END %]
23         </button>
24     </form>
25 [% END %]
26
27 [% INCLUDE 'doc-head-open.inc' %]
28 <title>[% IF op == 'view' %]Contents of [% shelf.shelfname | html %][% ELSE %]Your lists[% END %] &rsaquo; [% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog</title>
29 [% INCLUDE 'doc-head-close.inc' %]
30 [% BLOCK cssinclude %][% END %]
31 </head>
32 [% IF ( loggedinusername ) %]
33     [% INCLUDE 'bodytag.inc' bodyid='opac-userlists' bodyclass='scrollto' %]
34 [% ELSE %]
35     [% INCLUDE 'bodytag.inc' bodyid='opac-lists' bodyclass='scrollto' %]
36 [% END %]
37
38 [% BLOCK list_permissions %]
39     <li>
40         <label for="allow_changes_from">Allow changes to contents from: </label>
41         <select name="allow_changes_from" id="allow_changes_from" onchange="AdjustRemark()">
42
43             [% IF shelf.allow_change_from_owner %]<option value="0">Nobody</option>[% ELSE %]<option value="0" selected="selected">Nobody</option>[% END %]
44
45             [% IF shelf.allow_change_from_owner && (( !shelf.is_public && !shelf.is_shared ) || !shelf.allow_change_from_others ) %]
46                 <option value="1" selected="selected">Owner only</option>
47             [% ELSE %]
48                 <option value="1">Owner only</option>
49             [% END %]
50
51             [% IF shelf.allow_change_from_others %]<option value="2" selected="selected">Anyone seeing this list</option>[% ELSE %]<option value="2">Anyone seeing this list</option>[% END %]
52
53         </select>
54         &emsp; <span id="anyone_remark" style="display:none;color:red;">The "Anyone" permission has no actual effect while this list is strictly private.</span>
55     </li>
56 [% END %]
57
58 [% INCLUDE 'masthead.inc' %]
59 <div class="main">
60     <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumbs">
61         <ol class="breadcrumb">
62             <li class="breadcrumb-item">
63                 <a href="/cgi-bin/koha/opac-main.pl">Home</a>
64             </li>
65             [% IF ( loggedinusername ) %]
66                 <li class="breadcrumb-item">
67                     <a href="/cgi-bin/koha/opac-user.pl">[% INCLUDE 'patron-title.inc' patron = logged_in_user %]</a>
68                 </li>
69             [% END %]
70
71             [% IF op != 'list' %]
72                 <li class="breadcrumb-item">
73                     <a href="/cgi-bin/koha/opac-shelves.pl">Lists</a>
74                 </li>
75             [% ELSE %]
76                 <li class="breadcrumb-item active">
77                     <a href="#" aria-current="page">Lists</a>
78                 </li>
79             [% END %]
80
81             [% IF shelf and shelf.is_private %]
82                 [% IF op == 'view' OR op == 'edit_form' %]
83                     <li class="breadcrumb-item">
84                         <a href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;public=0">Your lists</a>
85                     </li>
86                 [% ELSE %]
87                     <li class="breadcrumb-item active">
88                         <a href="#" aria-current="page">Your lists</a>
89                     </li>
90                 [% END %]
91             [% ELSIF shelf AND shelf.is_public %]
92                 [% IF op == 'view' %]
93                     <li class="breadcrumb-item">
94                         <a href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;public=1">Public lists</a>
95                     </li>
96                 [% ELSE %]
97                     <li class="breadcrumb-item active">
98                         <a href="#" aria-current="page">Public lists</a>
99                     </li>
100                 [% END %]
101             [% END %]
102
103             [% IF op == 'view' %]
104                 <li class="breadcrumb-item active">
105                     <a href="#" aria-current="page">Contents of &nbsp;<em>[% shelf.shelfname | html %]</em></a>
106                 </li>
107             [% END %]
108
109             [% IF op == 'add_form' %]
110                 <li class="breadcrumb-item active">
111                     <a href="#" aria-current="page">Create new list</a>
112                 </li>
113             [% END %]
114
115             [% IF op == 'edit_form' %]
116                 <li class="breadcrumb-item active">
117                     <a href="#" aria-current="page">Edit list &nbsp;<em>[% shelf.shelfname | html %]</em></a>
118                 </li>
119             [% END %]
120         </ol> <!-- / .breadcrumb -->
121     </nav> <!-- /#breadcrumbs -->
122
123     <div class="container-fluid">
124         <div class="row">
125             [% IF ( OpacNav||loggedinusername ) %]
126                 <div class="col col-lg-2 order-2 order-lg-1">
127                     <div id="navigation">
128                         [% INCLUDE 'navigation.inc' IsPatronPage=1 %]
129                     </div>
130                 </div>
131                 <div class="col-md-12 col-lg-10 order-1">
132             [% ELSE %]
133                 <div class="col order-first order-md-first order-lg-2">
134             [% END %]
135
136                 <div id="usershelves" class="maincontent">
137
138                     [% FOR m IN messages %]
139                         [% SWITCH m.type %]
140                             [% CASE 'message' %]
141                                 <div class="alert alert-success" role="alert">
142                             [% CASE 'error' %]
143                                 <div class="alert alert-danger" role="alert">
144                         [% END %]
145                         [% SWITCH m.code %]
146                         [% CASE 'error_on_update' %]
147                             <span>An error occurred when updating this list.</span>
148                         [% CASE 'error_on_insert' %]
149                             <span>An error occurred when creating this list.</span>
150                         [% CASE 'error_on_delete' %]
151                             <span>An error occurred when deleting this list.</span>
152                         [% CASE 'error_on_add_biblio' %]
153                             <span>The item has not been added to the list. Please check it's not already in the list.</span>
154                         [% CASE 'error_on_remove_share' %]
155                             <span>The share has not been removed.</span>
156                         [% CASE 'success_on_update' %]
157                             <span>List updated.</span>
158                         [% CASE 'success_on_insert' %]
159                             <span>List created.</span>
160                         [% CASE 'success_on_delete' %]
161                             <span>List deleted.</span>
162                         [% CASE 'success_on_add_biblio' %]
163                             <span>The item has been added to the list.</span>
164                         [% CASE 'success_on_remove_biblios' %]
165                             <span>The item has been removed from the list.</span>
166                         [% CASE 'success_on_remove_share' %]
167                             <span>The share has been removed.</span>
168                         [% CASE 'does_not_exist' %]
169                             <span>This list does not exist.</span>
170                         [% CASE 'item_does_not_exist' %]
171                             <span>This item does not exist.</span>
172                         [% CASE 'unauthorized_on_view' %]
173                             <span>You do not have permission to view this list.</span>
174                         [% CASE 'unauthorized_on_insert' %]
175                             <span>You do not have permission to create a new list.</span>
176                         [% CASE 'unauthorized_on_update' %]
177                             <span>You do not have permission to update this list.</span>
178                         [% CASE 'unauthorized_on_delete' %]
179                             <span>You do not have permission to delete this list.</span>
180                         [% CASE 'unauthorized_on_add_biblio' %]
181                             <span>You do not have permission to add a record to this list.</span>
182                         [% CASE 'no_biblio_removed' %]
183                             <span>No record was removed.</span>
184                         [% CASE 'Koha::Exceptions::Virtualshelves::DuplicateObject' %]
185                             <span>An error occurred when creating the list. The name [% shelfname | html %] already exists.</span>
186                         [% CASE 'DBIx::Class::Exception' %]
187                             [% m.msg | html %]
188                         [% CASE %]
189                             [% m.code | html %]
190                             [% m.msg | html %]
191                         [% END %]
192                         </div>
193                     [% END %]
194
195                     [% IF shelf AND op == 'view' %]
196                         <h1>
197                             [% shelf.shelfname | html %]
198                             <a href="[% OPACBaseURL | url %]/cgi-bin/koha/opac-shelves.pl?rss=1&amp;op=view&amp;shelfnumber=[% shelf.shelfnumber | uri %]" class="rss-list-link noprint" aria-label="Subscribe to this list">
199                                 <i class="fa fa-fw fa-rss rsssearchicon" aria-hidden="true" title="Subscribe to this list"></i>
200                             </a>
201                         </h1>
202
203                         [% IF ( itemsloop ) %]
204                             [% SET contents = shelf.get_contents %]
205                             [% IF ( contents.count ) %]<p>This list contains [% contents.count | html %] titles</p>[% END %]
206                             <div id="floating">
207                                 <div id="toolbar" class="toolbar clearfix">
208                                     <div class="list-actions">
209                                         <a class="btn btn-link newshelf" href="/cgi-bin/koha/opac-shelves.pl?op=add_form"><i class="fa fa-fw fa-plus" aria-hidden="true"></i> New list</a> <span class="sep">|</span>
210
211                                         <div id="download-list" class="btn-group dropdown">
212                                             <a id="format" class="btn btn-link dropdown-toggle" data-toggle="dropdown" href="/cgi-bin/koha/opac-downloadshelf.pl?shelfnumber=[% shelf.shelfnumber | html %]"><i class="fa fa-fw fa-download" aria-hidden="true"></i> Download <b class="caret"></b></a>
213                                             <div class="dropdown-menu pull-left" role="menu" aria-labelledby="format">
214                                                 <a role="menuitem" class="dropdown-item download-list" data-format="bibtex" href="#">BibTeX</a>
215                                                 [% IF Koha.Preference('OPACISBD') %]<a role="menuitem" class="dropdown-item download-list" data-format="isbd" href="#">ISBD</a>[% END %]
216                                                 <a role="menuitem" class="dropdown-item download-list" data-format="iso2709" href="#">MARC</a>
217                                                 <a role="menuitem" class="dropdown-item download-list" data-format="ris" href="#">RIS (Zotero, EndNote, others)</a>
218                                                 [% FOREACH csv_profile IN csv_profiles %]
219                                                     <a role="menuitem" class="dropdown-item download-list" data-format="[% csv_profile.export_format_id | html %]" href="#">CSV - [% csv_profile.profile | html %]</a>
220                                                 [% END %]
221                                             </div>
222                                         </div>
223
224                                         [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
225                                             <span class="sendlist"><a href="/cgi-bin/koha/opac-sendshelf.pl?shelfid=[% shelf.shelfnumber | uri %]" class="btn btn-link send" onclick="open('/cgi-bin/koha/opac-sendshelf.pl?shelfid=[% shelf.shelfnumber | html %]','win_form','scrollbars=yes,resizable=yes,height=400,width=500,top=50,left=100'); return false; "><i class="fa fa-fw fa-envelope" aria-hidden="true"></i> Send list</a></span>
226                                         [% END %]
227
228                                         <a class="btn btn-link print-small" target="_blank" href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% shelf.shelfnumber | html %]&sortfield=[% sortfield | html %]&direction=[% direction | uri %]&print=1"><i class="fa fa-fw fa-print" aria-hidden="true"></i> Print list</a>
229
230                                         [% IF can_manage_shelf %]
231                                             <span class="sep">|</span>
232                                             <form method="get" action="/cgi-bin/koha/opac-shelves.pl" class="d-inline">
233                                                 <input type="hidden" name="op" value="edit_form" />
234                                                 <input type="hidden" name="referer" value="view" />
235                                                 <input type='hidden' name='public' value='[% shelf.public | html %]' />
236                                                 <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
237                                                 <button type="submit" class="btn btn-link editshelf"><i class="fa fa-fw fa-pencil-square-o" aria-hidden="true"></i> Edit list</button>
238                                             </form>
239
240                                             [% PROCESS delete_shelf context = "details" %]
241
242                                             [% IF !public && Koha.Preference('OpacAllowSharingPrivateLists') %]
243                                                 <a href="/cgi-bin/koha/opac-shareshelf.pl?op=invite&shelfnumber=[% shelf.shelfnumber | uri %]" class="btn btn-link sharelist"><i class="fa fa-fw fa-share" aria-hidden="true"></i> Share list</a>
244                                             [% END %]
245                                         [% ELSIF !public # not manageshelf and private means shared %]
246                                             <form action="/cgi-bin/koha/opac-shelves.pl" method="post" id="unshare[% shelf.shelfnumber | html %]" class="d-inline">
247                                                 <input type="hidden" name="op" value="remove_share" />
248                                                 <input type="hidden" name="referer" value="list" />
249                                                 <input type='hidden' name='public' value='[% public | html %]' />
250                                                 <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
251                                                 <button type="submit" class="btn btn-link remove remove_share" data-shelfname="[% shelf.shelfname | html %]" data-shelfnumber="[% shelf.shelfnumber | html %]">
252                                                     <i class="fa fa-remove" aria-hidden="true"></i> Remove share
253                                                 </button>
254                                             </form>
255                                         [% END # /IF can_manage_shelf %]
256                                     </div> <!-- /.list-actions -->
257
258                                     <form action="/cgi-bin/koha/opac-shelves.pl" id="sorting-form" class="d-inline sort_by pull-right">
259                                         <input type="hidden" name="op" value="view" />
260                                         <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
261
262                                         <label for="sortfield">Sort by: </label>
263                                         <select name="sortfield" id="sortfield" class="resort">
264                                             <option value="">Default sorting</option>
265                                             <optgroup label="Author">
266                                                 [% IF sortfield == 'author' && direction == 'asc' %]
267                                                     <option value="author" data-direction="asc" selected="selected">Author (A-Z)</option>
268                                                 [% ELSE %]
269                                                     <option value="author" data-direction="asc">Author (A-Z)</option>
270                                                 [% END %]
271                                                 [% IF sortfield == 'author' && direction == 'desc' %]
272                                                     <option value="author" data-direction="desc" selected="selected">Author (Z-A)</option>
273                                                 [% ELSE %]
274                                                     <option value="author" data-direction="desc">Author (Z-A)</option>
275                                                 [% END %]
276                                             </optgroup>
277                                             <optgroup label="Title">
278                                                 [% IF sortfield == 'title' && direction == 'asc' %]
279                                                     <option value="title" data-direction="asc" selected="selected">Title (A-Z)</option>
280                                                 [% ELSE %]
281                                                     <option value="title" data-direction="asc">Title (A-Z)</option>
282                                                 [% END %]
283                                                 [% IF sortfield == 'title' && direction == 'desc' %]
284                                                     <option value="title" data-direction="desc" selected="selected">Title (Z-A)</option>
285                                                 [% ELSE %]
286                                                     <option value="title" data-direction="desc">Title (Z-A)</option>
287                                                 [% END %]
288                                             </optgroup>
289                                             <optgroup label="Call number">
290                                                 [% IF sortfield == 'itemcallnumber' && direction == 'asc' %]
291                                                     <option value="itemcallnumber" data-direction="asc" selected="selected">Call number (A-Z)</option>
292                                                 [% ELSE %]
293                                                     <option value="itemcallnumber" data-direction="asc">Call number (A-Z)</option>
294                                                 [% END %]
295                                                 [% IF sortfield == 'itemcallnumber' && direction == 'desc' %]
296                                                     <option value="itemcallnumber" data-direction="desc" selected="selected">Call number (Z-A)</option>
297                                                 [% ELSE %]
298                                                     <option value="itemcallnumber" data-direction="desc">Call number (Z-A)</option>
299                                                 [% END %]
300                                             </optgroup>
301                                             <optgroup label="Copyright date">
302                                                 [% IF sortfield == 'copyrightdate' && direction == 'asc' %]
303                                                     <option value="copyrightdate" data-direction="desc" selected="selected">Copyright date (newest to oldest)</option>
304                                                 [% ELSE %]
305                                                     <option value="copyrightdate" data-direction="desc">Copyright date (newest to oldest)</option>
306                                                 [% END %]
307                                                 [% IF sortfield == 'copyrightdate' && direction == 'desc' %]
308                                                     <option value="copyrightdate" data-direction="asc" selected="selected">Copyright date (oldest to newest)</option>
309                                                 [% ELSE %]
310                                                     <option value="copyrightdate" data-direction="asc">Copyright date (oldest to newest)</option>
311                                                 [% END %]
312                                             </optgroup>
313                                             <optgroup label="Date added">
314                                                 [% IF sortfield == "dateadded" && direction == 'asc' %]
315                                                     <option value="dateadded" data-direction="desc" selected="selected">Date added (newest to oldest)</option>
316                                                 [% ELSE %]
317                                                     <option value="dateadded" data-direction="desc">Date added (newest to oldest)</option>
318                                                 [% END %]
319                                                 [% IF sortfield == "dateadded" && direction == 'desc' %]
320                                                     <option value="dateadded" data-direction="asc" selected="selected">Date added (oldest to newest)</option>
321                                                 [% ELSE %]
322                                                     <option value="dateadded" data-direction="asc">Date added (oldest to newest)</option>
323                                                 [% END %]
324                                             </optgroup>
325                                         </select>
326
327                                         <input type="submit" class="btn btn-primary btn-sm" id="sort-submit" value="Resort list" />
328                                     </form> <!-- /#sorting-form -->
329
330                                 </div> <!-- / #toolbar -->
331
332                                 <div class="selections-toolbar toolbar noprint">
333                                     <div class="check_control">
334                                         <span class="checkall">
335                                             <a id="CheckAll" class="btn btn-link btn-sm" href="#">Select all</a>
336                                         </span>
337                                         <span class="clearall">
338                                             <a id="CheckNone" class="btn btn-link btn-sm" href="#">Clear all</a>
339                                         </span>
340                                     </div>
341                                     <div class="links">
342                                         <span class="selections">Select titles to: </span>
343                                         [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'OPACHoldRequests' ) == 1 ) ) %]
344                                             <span id="placehold">
345                                                 <a href="#" class="btn btn-link hold tag_hides disabled"><i class="fa fa-fw fa-bookmark" aria-hidden="true"></i> Place hold</a>
346                                             </span>
347                                         [% END %]
348
349                                         [% IF ( TagsInputEnabled && loggedinusername ) %]
350                                             <span id="addtags">
351                                                 <a id="tagsel_tag" href="#" class="btn btn-link disabled"><i class="fa fa-fw fa-tag" aria-hidden="true"></i> Tag</a>
352                                             </span>
353                                             <span id="tagsel_form" class="form-inline" style="display:none">
354                                                 <label for="tagsel_new">New tag(s), separated by a comma:</label>
355                                                 <input class="form-control form-control-sm" type="text" name="tagsel_new" id="tagsel_new" maxlength="100" />
356                                                 <input id="tagsel_button" name="tagsel_button" class="tagsel_button btn btn-primary btn-sm" title="tagsel_button" type="submit" value="Add" />
357                                                 <a href="#" id="tagsel_cancel">Cancel</a>
358                                             </span>
359                                         [% END %]
360                                         [% IF loggedinusername && can_remove_biblios %]
361                                             <span id="removeitems"></span>
362                                         [% END %]
363                                     </div> <!-- / .links -->
364                                 </div> <!-- / .selections-toolbar -->
365                             </div> <!-- /#floating -->
366
367                             <form action="/cgi-bin/koha/opac-shelves.pl" method="post" id="myform" name="myform">
368                                 [% IF can_manage_shelf %]
369                                     <input type="hidden" name="op" value="remove_biblios" />
370                                     <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
371                                 [% END %]
372                                 <div class="searchresults">
373                                     <table id="listcontents" class="table">
374                                         <tbody>
375                                             [% FOREACH itemsloo IN itemsloop %]
376                                                 <tr>
377                                                     [% IF ( itemsloo.title ) %]
378                                                         [% check_title = itemsloo.title %]
379                                                     [% ELSE %]
380                                                         [% check_title = itemsloo.biblionumber %]
381                                                     [% END %]
382                                                     <td class="selectcol"><input type="checkbox" class="cb" name="biblionumber" value="[% itemsloo.biblionumber | html %]" aria-label="[% check_title | html %]"/></td>
383                                                     [% UNLESS ( item_level_itypes ) %]
384                                                         <td>
385                                                             [% UNLESS ( Koha.Preference('OpacNoItemTypeImages') ) %]
386                                                                 <img src="[% itemsloo.imageurl | html %]" alt="[% itemsloo.description | html %]" title="[% itemsloo.description | html %]" />
387                                                             [% END %]
388                                                             [% itemsloo.description | html %]
389                                                         </td>
390                                                     [% END %]
391                                                     <td>
392                                                         <div class="coverimages">
393                                                             <a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% itemsloo.biblionumber | html %]">
394                                                                 [% IF ( itemsloo.title ) %]
395                                                                     [% img_title = itemsloo.title %]
396                                                                 [% ELSE %]
397                                                                     [% img_title = itemsloo.biblionumber %]
398                                                                 [% END %]
399
400                                                                 [% IF ( OPACLocalCoverImages ) %]
401                                                                     <span title="[% img_title | html %]" class="[% itemsloo.biblionumber | html %]" id="local-thumbnail[% loop.count | html %]"></span>
402                                                                 [% END %]
403
404                                                                 [% IF ( OPACAmazonCoverImages ) %]
405                                                                     [% IF ( itemsloo.normalized_isbn ) %]
406                                                                         <span title="[% img_title | html %]" id="amazon-thumbnail[% loop.count | html %]"><img src="https://images-na.ssl-images-amazon.com/images/P/[% itemsloo.normalized_isbn | html %].01.TZZZZZZZ.jpg" alt="" /></span>
407                                                                     [% ELSE %]
408                                                                         <span class="no-image">No cover image available</span>
409                                                                     [% END %]
410                                                                 [% END %]
411
412                                                                 [% IF ( SyndeticsEnabled && SyndeticsCoverImages ) %]
413                                                                     <span title="[% img_title | html %]" id="syndetics-thumbnail[% loop.count | html %]"><img src="https://secure.syndetics.com/index.aspx?isbn=[% itemsloo.normalized_isbn | html %]/SC.GIF&amp;client=[% SyndeticsClientCode | html %]&amp;type=xw10&amp;upc=[% itemsloo.normalized_upc | html %]&amp;oclc=[% itemsloo.normalized_oclc | html %]" alt="" /></span>
414                                                                 [% END %]
415
416                                                                 [% IF ( GoogleJackets ) %]
417                                                                     [% IF ( itemsloo.normalized_isbn ) %]
418                                                                         <div title="[% img_title | html %]" class="[% itemsloo.normalized_isbn | html %]" id="gbs-thumbnail[% loop.count | html %]"></div>
419                                                                     [% ELSE %]
420                                                                         <span class="no-image">No cover image available</span>
421                                                                     [% END %]
422                                                                 [% END %]
423
424                                                                 [% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
425                                                                     [% coce_id = itemsloo.normalized_ean || itemsloo.normalized_isbn %]
426                                                                     [% IF ( coce_id ) %]
427                                                                         <span title="[% img_title | html %]" class="[% coce_id | html %]" id="coce-thumbnail[% loop.count | html %]"></span>
428                                                                     [% ELSE %]
429                                                                         <span class="no-image">No cover image available</span>
430                                                                     [% END %]
431                                                                 [% END %]
432
433
434                                                                 [% IF OpenLibraryCovers %]
435                                                                     [% IF itemsloo.normalized_isbn %]
436                                                                         <span title="[% img_title | html %]" class="[% itemsloo.normalized_isbn | html %]" id="openlibrary-thumbnail[% loop.count | html %]"></span>
437                                                                     [% ELSE %]
438                                                                         <span class="no-image">No cover image available</span>
439                                                                     [% END %]
440                                                                 [% END %]
441
442                                                             </a> <!-- / .p1 -->
443                                                             [% IF ( Koha.Preference('BakerTaylorEnabled') && !Koha.Preference('BakerTaylorBookstoreURL') ) %]
444                                                                 [% bt_id = ( itemsloo.normalized_upc || itemsloo.normalized_isbn ) %]
445                                                                 [% IF ( bt_id ) %]
446                                                                     <img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL | html %][% bt_id | html %]" />
447                                                                 [% ELSE %]
448                                                                     <span class="no-image">No cover image available</span>
449                                                                 [% END %]
450                                                             [% END %]
451
452                                                             [% IF ( Koha.Preference('BakerTaylorEnabled') && Koha.Preference('BakerTaylorBookstoreURL') ) %]
453                                                                 [% bt_id = ( itemsloo.normalized_upc || itemsloo.normalized_isbn ) %]
454                                                                 [% IF ( bt_id ) %]
455                                                                     <a href="https://[% Koha.Preference('BakerTaylorBookstoreURL') | uri %][% bt_id | uri %]">
456                                                                         <img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL | html %][% bt_id | html %]" />
457                                                                     </a>
458                                                                 [% ELSE %]
459                                                                     <span class="no-image">No cover image available</span>
460                                                                 [% END %]
461                                                             [% END %]
462
463                                                             [% IF Koha.Preference('OPACCustomCoverImages') AND Koha.Preference('CustomCoverImagesURL') %]
464                                                                 [% SET custom_cover_image_url = itemsloo.biblio_object.custom_cover_image_url %]
465                                                                 [% IF custom_cover_image_url %]
466                                                                     <a class="custom_cover_image" href="[% PROCESS biblio_a_href biblionumber => itemsloo.biblionumber %]">
467                                                                     <img alt="Cover image" src="[% custom_cover_image_url | url %]" /></a>
468                                                                 [% END %]
469                                                             [% END %]
470
471                                                         </div>
472
473                                                         [% itemsloo.XSLTBloc | $raw %]
474
475                                                         [% IF ( TagsShowEnabled && itemsloo.TagLoop.size ) %]
476                                                             <div class="results_summary tags">
477                                                                 <span class="label">Tags:</span>
478                                                                 <ul>
479                                                                     [% FOREACH TagLoo IN itemsloo.TagLoop %]
480                                                                         <li><a href="/cgi-bin/koha/opac-search.pl?tag=[% TagLoo.term |url %]&amp;q=[% TagLoo.term |url %]">[% TagLoo.term | html %]</a> <span class="weight">([% TagLoo.weight_total | html %])</span></li>
481                                                                     [% END %]
482                                                                 </ul>
483                                                             </div>
484                                                         [% END %]
485
486                                                         [% INCLUDE 'title-actions-menu.inc' items=itemsloo %]
487
488                                                         [% INCLUDE "openlibrary-readapi.inc" bib = itemsloo %]
489                                                         <!-- COinS / Openurl -->
490                                                         <span class="Z3988" title="[% itemsloo.coins | html %]"></span>
491                                                     </td>
492                                                 </tr>
493                                             [% END # / FOREACH itemsloop %]
494                                         </tbody>
495                                     </table> <!-- / #listcontents -->
496                                 </div><!-- / .searchresults -->
497
498                                 [% IF ( pagination_bar ) %]
499                                     <div class="pages">[% pagination_bar | $raw %]</div>
500                                 [% END %]
501
502                                 [% IF can_remove_biblios %]
503                                     <input type="hidden" name="op" value="remove_biblios" />
504                                     <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
505                                     <input type="hidden" name="modifyshelfcontents" value="1" />
506                                     <input type="submit" value="Remove selected items" id="remove-selected" class="btn btn-danger"/>
507                                 [% END %]
508                             </form> <!-- /myform -->
509                         [% ELSE %]
510                             <div id="toolbar" class="toolbar clearfix">
511                                 <div class="list-actions">
512                                     <a class="btn btn-link newshelf" href="/cgi-bin/koha/opac-shelves.pl?op=add_form"><i class="fa fa-fw fa-plus" aria-hidden="true"></i> New list</a>
513                                     [% IF can_manage_shelf %]
514                                         <span class="sep">|</span>
515                                         <form method="get" action="/cgi-bin/koha/opac-shelves.pl" class="d-inline">
516                                             <input type="hidden" name="op" value="edit_form" />
517                                             <input type="hidden" name="referer" value="view" />
518                                             <input type="hidden" name="public" value="[% shelf.public | html %]" />
519                                             <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
520                                             <button type="submit" class="btn btn-link editshelf"><i class="fa fa-fw fa-pencil-square-o" aria-hidden="true"></i> Edit list</button>
521                                         </form>
522
523                                         [% PROCESS delete_shelf context = "details" %]
524
525                                     [% END %]
526                                 </div> <!-- / .list-actions -->
527                             </div> <!-- / #toolbar -->
528
529                             <div class="alert alert-info">
530                                 This list is empty.
531                                 [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
532                                     You can add to your lists from the results of any <a href="opac-main.pl">search</a>.
533                                 [% END %]
534                             </div>
535
536                             [% IF can_manage_shelf %]
537                                 <form method="post" action="opac-shelves.pl">
538                                     <input type="hidden" name="op" value="delete" />
539                                     <input type="hidden" name="referer" value="list" />
540                                     <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]"/>
541                                     <input type="submit" class="btn btn-danger" value="Delete this list" onclick="return confirmDelete(MSG_CONFIRM_DELETE_LIST)" />
542                                 </form>
543                             [% END %]
544                         [% END # / IF itemsloop %]
545                     [% END # /IF shelf AND op == 'view' %]
546
547                     [% IF op == 'add_form' OR op == 'edit_form' %]
548                         <form method="post" action="/cgi-bin/koha/opac-shelves.pl">
549                             <fieldset class="rows">
550                                 [% IF op == 'add_form' %]
551                                     <div id="addshelf">
552                                         <legend><h1>Create a new list</h1></legend>
553                                     <input type="hidden" name="op" value="add" />
554                                 [% ELSE %]
555                                 <legend><h1>Editing <em>[% shelf.shelfname | html %]</em></h1></legend>
556                                     <input type="hidden" name="op" value="edit" />
557                                     <input type="hidden" name="referer" value="[% referer | html %]" />
558                                     <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
559                                 [% END %]
560                                 <input type="hidden" name="owner" id="owner" value="[% loggedinusernumber | html %]" />
561                                 <ol>
562                                     <li>
563                                         <label class="required" for="shelfname">List name: </label>
564                                         <input type="text" id="shelfname" name="shelfname" maxlength="255" value="[% shelf.shelfname | html %]" required="required" class="focus required"/>
565                                         <span class="required">Required</span></li>
566                                     <li>
567                                         <label for="sortfield" >Sort this list by: </label>
568                                         <select name="sortfield" id="sortfield">
569                                             [% IF shelf.sortfield == "title" %]
570                                                 <option value="title" selected="selected">Title</option>
571                                             [% ELSE %]
572                                                 <option value="title">Title</option>
573                                             [% END %]
574                                             [% IF shelf.sortfield == "author" %]
575                                                 <option value="author" selected="selected">Author</option>
576                                             [% ELSE %]
577                                                 <option value="author">Author</option>
578                                             [% END %]
579                                             [% IF shelf.sortfield == "copyrightdate" %]
580                                                 <option value="copyrightdate" selected="selected">Year</option>
581                                             [% ELSE %]
582                                                 <option value="copyrightdate">Year</option>
583                                             [% END %]
584                                             [% IF shelf.sortfield == "itemcallnumber" %]
585                                                 <option value="itemcallnumber" selected="selected">Call number</option>
586                                             [% ELSE %]
587                                                 <option value="itemcallnumber">Call number</option>
588                                             [% END %]
589                                             [% IF shelf.sortfield == "dateadded" %]
590                                                 <option value="dateadded" selected="selected">Date added</option>
591                                             [% ELSE %]
592                                                 <option value="dateadded">Date added</option>
593                                             [% END %]
594                                         </select>
595                                     </li>
596                                     [% IF Koha.Preference('OpacAllowPublicListCreation') OR public == 1 %]
597                                         <li>
598                                             <label for="public">Category:</label>
599                                             <select name="public" id="public" onchange="AdjustRemark()">
600                                                 [% IF shelf.is_private %]
601                                                         <option value="0" selected="selected">Private</option>
602                                                     [% ELSE %]
603                                                         <option value="0">Private</option>
604                                                     [% END %]
605                                                 [% IF shelf.is_public %]
606                                                     <option value="1" selected="selected">Public</option>
607                                                 [% ELSE %]
608                                                     <option value="1">Public</option>
609                                                 [% END %]
610                                             </select>
611                                             [% IF shelf.is_public AND NOT Koha.Preference('OpacAllowPublicListCreation') %]
612                                                 <span class="hint alert alert-info">The library has disabled the ability for patrons to create new public lists.  If you make your list private, you will not be able to make it public again.</span>
613                                             [% END %]
614                                         </li>
615                                     [% END %]
616                                     [% INCLUDE list_permissions %]
617                                 </ol>
618                                 [% UNLESS Koha.Preference('OpacAllowPublicListCreation') OR public == 1 %]
619                                     <input type="hidden" name="public" value="0" />
620                                 [% END %]
621                             </fieldset> <!-- /.rows -->
622
623                             <fieldset class="action">
624                                 <input type="submit" value="Save" class="btn btn-primary" />
625                                 [% IF referer == 'view' %]
626                                     <a href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% shelf.shelfnumber | uri %]" class="cancel">Cancel</a>
627                                 [% ELSE %]
628                                     <a href="/cgi-bin/koha/opac-shelves.pl?op=list" class="cancel">Cancel</a>
629                                 [% END %]
630                             </fieldset>
631                         </form>
632
633                     [% ELSIF op == 'list' %]
634                         <h1>Lists</h1>
635                         <div class="toptabs ui-tabs ui-widget ui-widget-content ui-corner-all">
636                             <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
637                                 [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
638                                     [% IF !public %]
639                                         <li id="privateshelves_tab" class="ui-state-default ui-corner-top ui-tabs-active ui-state-active"><a class="ui-tabs-anchor" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;public=0">Your lists</a></li>
640                                     [% ELSE %]
641                                         <li id="privateshelves_tab" class="ui-state-default ui-corner-top"><a class="ui-tabs-anchor" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;public=0">Your lists</a></li>
642                                     [% END %]
643                                 [% END %]
644                                 [% IF public %]
645                                     <li id="publicshelves_tab" class="ui-state-default ui-corner-top ui-tabs-active ui-state-active"><a class="ui-tabs-anchor" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;public=1">Public lists</a></li>
646                                 [% ELSE %]
647                                     <li id="publicshelves_tab" class="ui-state-default ui-corner-top"><a class="ui-tabs-anchor" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;public=1">Public lists</a></li>
648                                 [% END %]
649                             </ul>
650
651                             [% IF !public %]
652                                 <div id="privateshelves" class="ui-tabs-panel ui-widget-content ui-corner-bottom" style="display:block;">
653                             [% ELSE %]
654                                 <div id="publicshelves" class="ui-tabs-panel ui-widget-content ui-corner-bottom" style="display:block;">
655                             [% END %]
656
657                             [% IF !public || Koha.Preference('OpacAllowPublicListCreation') %]
658                                 [% IF loggedinusername %]
659                                     <div id="toolbar" class="toolbar"><a class="btn btn-link newshelf" href="/cgi-bin/koha/opac-shelves.pl?op=add_form"><i class="fa fa-plus" aria-hidden="true"></i> New list</a></div>
660                                 [% ELSE %]
661                                     [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
662                                         <div class="alert alert-info"><a href="/cgi-bin/koha/opac-shelves.pl?op=add_form">Log in to create a new list</a></div>
663                                     [% END %]
664                                 [% END %]
665                             [% END %]
666
667                             [% IF shelves.count %]
668                                 <table class="table">
669                                     [% IF !public %]
670                                     <caption class="sr-only">Your lists</caption>
671                                     [% ELSIF public %]
672                                     <caption class="sr-only">Public lists</caption>
673                                     [% END %]
674                                     <thead>
675                                         <tr>
676                                             <th>List name</th>
677                                             <th>Contents</th>
678                                             <th>Type</th>
679                                             <th>&nbsp;</th>
680                                         </tr>
681                                     </thead>
682                                     <tbody>
683                                         [% FOREACH s IN shelves %]
684                                             [% SET contents = s.get_contents %]
685                                             <tr>
686                                                 <td><a href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% s.shelfnumber | uri %]">[% s.shelfname | html %]</a></td>
687                                                 <td>[% IF contents.count %][% contents.count | html %] [% IF contents.count == 1 %]item[% ELSE %]items[% END %][% ELSE %]Empty[% END %]</td>
688                                                 <td>
689                                                     [% IF s.is_private %]
690                                                         [% IF s.is_shared %]Shared[% ELSE %]Private[% END %]
691                                                     [% ELSE %]
692                                                         Public
693                                                     [% END %]
694                                                 </td>
695                                                 <td>
696                                                     [% IF s.can_be_managed( loggedinusernumber ) %]
697                                                         <form action="/cgi-bin/koha/opac-shelves.pl" method="get" class="d-inline">
698                                                             <input type="hidden" name="shelfnumber" value="[% s.shelfnumber | html %]" />
699                                                             <input type="hidden" name="public" value="[% s.public | html %]" />
700                                                             <input type="hidden" name="op" value="edit_form" />
701                                                             <input type="hidden" name="referer" value="list" />
702                                                             <button type="submit" class="btn btn-link editshelf"><i class="fa fa-pencil-square-o" aria-hidden="true"></i> Edit</button>
703                                                         </form>
704                                                     [% END %]
705                                                     [% IF s.can_be_deleted( loggedinusernumber ) %]
706                                                         [% PROCESS delete_shelf shelf = s context = "list" %]
707                                                     [% END %]
708                                                     [% IF s.is_private AND s.can_be_managed( loggedinusernumber ) AND Koha.Preference('OpacAllowSharingPrivateLists') %]
709                                                         <a href="/cgi-bin/koha/opac-shareshelf.pl?op=invite&shelfnumber=[% s.shelfnumber | uri %]" class="sharelist btn btn-link"><i class="fa fa-share" aria-hidden="true"></i> Share</a>
710                                                     [% END %]
711                                                     [% IF s.is_shared_with( loggedinusernumber ) %]
712                                                         <form action="opac-shelves.pl" method="post" id="unshare[% s.shelfnumber | html %]" class="d-inline">
713                                                             <input type="hidden" name="op" value="remove_share" />
714                                                             <input type="hidden" name="referer" value="list" />
715                                                             <input type='hidden' name='public' value='[% public | html %]' />
716                                                             <input type="hidden" name="shelfnumber" value="[% s.shelfnumber | html %]" />
717                                                             <button type="submit" class="btn btn-link remove remove_share"
718                                                             data-shelfname="[% s.shelfname | html %]" data-shelfnumber="[% s.shelfnumber | html %]"><i class="fa fa-remove" aria-hidden="true"></i> Remove share</button>
719                                                         </form>
720                                                     [% END %]&nbsp;
721                                                 </td>
722                                             </tr>
723                                         [% END %]
724                                     </tbody>
725                                 </table> <!-- /.table -->
726                                 <div class="pages">[% pagination_bar | $raw %]</div>
727                             [% ELSE %]
728                                 [% IF public %]
729                                     <p>No public lists.</p>
730                                 [% ELSIF loggedinusernumber %]
731                                     <p>No private lists.</p>
732                                 [% END %]
733                             [% END # /IF shelves.count %]
734                         </div>
735                     [% ELSIF NOT loggedinusernumber %]
736                         [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
737                             <div class="alert alert-info"><a href="/cgi-bin/koha/opac-shelves.pl?op=add_form">Log in to create a new list</a></div>
738                         [% END %]
739                     [% END  # IF op == 'add_form' OR op == 'edit_form' %]
740                 </div> <!-- / #usershelves -->
741             </div> <!-- / .col-lg-10/12 -->
742         </div> <!-- / .row -->
743     </div> <!-- / .container-fluid -->
744 </div> <!-- / .main -->
745
746 <form method="post" id="download_list" action="/cgi-bin/koha/opac-downloadshelf.pl">
747     <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
748     <input type="hidden" name="format" id="download_format" value="" />
749 </form>
750
751 [% INCLUDE 'opac-bottom.inc' %]
752 [% BLOCK jsinclude %]
753 [% Asset.js("lib/hc-sticky.js") | $raw %]
754 [% IF OpenLibraryCovers || OpenLibrarySearch %]
755     [% Asset.js("js/openlibrary.js") | $raw %]
756 [% END %]
757 <script>
758 var MSG_REMOVE_FROM_LIST = _("Are you sure you want to remove these items from the list?");
759 var MSG_REMOVE_ONE_FROM_LIST = _("Are you sure you want to remove this item from the list?");
760 var MSG_CONFIRM_DELETE_LIST = _("Are you sure you want to delete this list?");
761 var MSG_CONFIRM_REMOVE_SHARE = _("Are you sure you want to remove this share?");
762
763 [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'OPACHoldRequests' ) == 1 ) ) %]
764     function holdSelections() {
765         var checkedBoxes = $("input:checkbox:checked");
766         if ($(checkedBoxes).size() == 0) {
767             alert( __("No item was selected") );
768         } else {
769             var bibs = "";
770             $(checkedBoxes).each(function(){
771                 bibs += $(this).val() + "/";
772             });
773             document.location = "/cgi-bin/koha/opac-reserve.pl?biblionumbers="+bibs;
774         }
775     }
776 [% END %]
777 [% IF ( TagsInputEnabled && loggedinusername ) %]
778     function tagSelected() {
779         var checkedBoxes = $("input:checkbox:checked");
780         if ($(checkedBoxes).size()) {
781             $("#tagsel_tag").hide();
782             $(".tag_hides").hide();
783             $("#tagsel_form").show();
784         } else {
785             alert( __("No item was selected") );
786         }
787     }
788
789     function tagCanceled() {
790         $("#tagsel_form").hide();
791         $("#tagsel_tag").show();
792         $(".tag_hides").show();
793         $("#tagsel_new").val("");
794         $(".tagstatus").empty().hide();
795     }
796
797     function tagAdded() {
798         var checkedBoxes = $("input:checkbox:checked");
799         if (!$(checkedBoxes).size()) {
800             alert( __("No item was selected") );
801             return false;
802         }
803
804         var tag = $("#tagsel_new").val();
805         if (!tag || (tag == "")) {
806             alert(MSG_NO_TAG_SPECIFIED);
807             return false;
808         }
809
810         var bibs = [];
811         for (var i = 0; i < $(checkedBoxes).size(); i++) {
812             var box = $(checkedBoxes).get(i);
813             bibs[i] = $(box).val();
814         }
815
816         KOHA.Tags.add_multitags_button(bibs, tag);
817         return false;
818     }
819 [% END %]
820
821 function enableCheckboxActions(){
822     // Enable/disable controls if checkboxes are checked
823     var checkedBoxes = $(".cb:checked");
824     if ($(checkedBoxes).size()) {
825       $(".selections").html(_("With selected titles: "));
826       $(".selections-toolbar .links a").removeClass("disabled");
827     } else {
828       $(".selections").html(_("Select titles to: "));
829       $(".selections-toolbar .links a").addClass("disabled");
830     }
831 }
832
833 $(function() {
834     [% IF Koha.Preference( 'opacbookbag' ) == 1 %]$(".addtocart,.cartRemove").removeClass("hidden");[% END %]
835
836     [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'OPACHoldRequests' ) == 1 ) ) %]
837         $(".selections-toolbar a.hold").click(function(e){
838             e.preventDefault();
839             holdSelections();
840         });
841     [% END %]
842
843     $("a.print").show();
844
845     $("#CheckAll").on("click",function(e){
846         e.preventDefault();
847         $(".cb").prop("checked", true);
848         enableCheckboxActions();
849     });
850     $("#CheckNone").on("click",function(e){
851         e.preventDefault();
852         $(".cb").prop("checked", false);
853         enableCheckboxActions();
854     });
855
856     $(".cb").click(function(){
857       enableCheckboxActions();
858     });
859     enableCheckboxActions();
860
861     [% IF ( TagsInputEnabled && loggedinusername ) %]
862         var tagAdd = $(".tag_add");
863         tagAdd.removeClass("hidden");
864         $("#tagsel_tag").click(function(){
865             tagSelected();
866             return false;
867         });
868         $("#tagsel_cancel").click(function(){
869             tagCanceled();
870             return false;
871         });
872         $("#tagsel_button").click(function(){
873             tagAdded();
874             return false;
875         });
876
877         tagAdd.click(function(){
878             var thisid = $(this).attr("id");
879             thisid = thisid.replace("tag_add","");
880             $(this).hide();
881             $("#tagform"+thisid).show();
882             $("#newtag"+thisid).focus();
883             $("#newtag"+thisid+"_status").empty().hide();
884             return false;
885         });
886         $(".cancel_tag_add").click(function(){
887             var thisid = $(this).attr("id");
888             thisid = thisid.replace("cancel","");
889             $("#tagform"+thisid).hide();
890             $("#tag_add"+thisid).show();
891             $("#newtag"+thisid).val("");
892             $("#newtag"+thisid+"_status").empty().hide();
893             return false;
894         });
895         $(".tagbutton").click(function(){
896           var thisid = $(this).attr("title");
897           var tag = $("#newtag"+thisid).val();
898           if (!tag || (tag == "")) {
899               alert(MSG_NO_TAG_SPECIFIED);
900               return false;
901           }
902           KOHA.Tags.add_tag_button(thisid, tag);
903           return false;
904         });
905     [% END %]
906
907     [% IF loggedinusername && can_remove_biblios %]
908         $(".removefromlist").on("click", function(e){
909             return confirmDelete(MSG_REMOVE_ONE_FROM_LIST);
910         });
911
912         $("#myform").submit(function(){
913             var checkedBoxes = $(".cb:checked");
914             var numchecked = $(checkedBoxes).size();
915             if (numchecked) {
916                 if( numchecked > 1 ){
917                     return confirmDelete(MSG_REMOVE_FROM_LIST);
918                 } else {
919                     return confirmDelete(MSG_REMOVE_ONE_FROM_LIST);
920                 }
921             } else {
922                 alert( __("No item was selected") );
923                 return false;
924             }
925         });
926         $("#removeitems").html("<a href=\"#\" class=\"btn btn-link disabled removeitems tag_hides\"><i class=\"fa fa-fw fa-remove\" aria-hidden=\"true\"></i> "+_("Remove from list")+"</a>")
927         .click(function(){
928             $("#myform").submit();
929             return false;
930         });
931     [% END %]
932     [% IF OpenLibraryCovers %]KOHA.OpenLibrary.GetCoverFromIsbn();[% END %]
933     [% IF OPACLocalCoverImages %]KOHA.LocalCover.GetCoverFromBibnumber(false);[% END %]
934     [% IF ( GoogleJackets ) %]KOHA.Google.GetCoverFromIsbn();[% END %]
935     [% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
936         KOHA.coce.getURL('[% Koha.Preference('CoceHost') | html %]', '[% Koha.Preference('CoceProviders') | html %]');
937     [% END %]
938
939     [% IF print %]
940         window.print();
941         window.onafterprint = function () {
942             window.close();
943         }
944         setTimeout('window.close()', 1000); // Hack for Chrome < 63
945     [% END %]
946
947     AdjustRemark();
948
949     Sticky = $("#floating");
950     Sticky.hcSticky({
951         stickTo: "#usershelves",
952         stickyClass: "floating"
953     });
954
955     [% IF itemsloop %]
956         sortMenu( $("#sorting-form") );
957
958         $("#sortfield").on("change", function(){
959             $('#sorting-form').submit();
960         });
961     [% END %]
962
963     $(".deleteshelf").on("click", function(e){
964         e.preventDefault();
965         var shelf_name = $(this).data("shelfname");
966         var shelf_number = $(this).data("shelfnumber");
967         var is_shared = $(this).data("shared");
968         var count = $(this).data("count");
969         var message = "<p><em>" + shelf_name + "</em></p>";
970         if( count ){
971             message += "<p>" + _("Items on this list:") + " <strong>" + count + "</strong></p>";
972         }
973         if( is_shared ){
974             message += "<p>" + _("This list is shared. Other users will lose access to it.") + "</p>";
975         }
976         confirmModal( message, _("Are you sure you want to delete this list?"), _("Yes, delete"), _("No, do not delete"), function( result ){
977                 if( result ){
978                     $("#deleteshelf" + shelf_number ).submit();
979                 }
980             }
981         );
982     });
983
984     $(".remove_share").on("click", function(e){
985         e.preventDefault();
986         var shelf_name = $(this).data("shelfname");
987         var shelf_number = $(this).data("shelfnumber");
988         confirmModal( shelf_name, _("Are you sure you want to remove sharing? You will no longer have access to the list."), _("Yes, remove sharing"), _("No, do not remove sharing"), function( result ){
989                 if( result ){
990                     $("#unshare" + shelf_number ).submit();
991                 }
992             }
993         );
994     });
995
996     $(".download-list").on("click", function(e){
997         e.preventDefault();
998         var format = $(this).data("format");
999         $("#download_format").val( format );
1000         $("#download_list").submit();
1001     });
1002
1003 }); // document.ready
1004
1005 function sortMenu( sorting_form ){
1006     var shelfnumber = sorting_form.find("input[name='shelfnumber']").val();
1007     var sort_link = "/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=" + shelfnumber + "&sortfield=";
1008     var menu = "<div class=\"btn-group dropdown\"><button type=\"button\" class=\"btn btn-link dropdown-toggle\" data-toggle=\"dropdown\" id=\"sortmenu\" aria-haspopup=\"true\" aria-expanded=\"false\"><i class=\"fa fa-sort\" aria-hidden=\"true\"></i> " + _("Sort") + "</span></button><div class=\"dropdown-menu dropdown-menu-right\" aria-labelledby=\"sortmenu\">";
1009     $("#sortfield").children().each(function(){
1010         if( $(this)[0].tagName.toUpperCase() == "OPTION" ){
1011             menu += "<a class=\"dropdown-item\" href=\"" + sort_link + $(this).val() + "\">" + $(this).text() + "</a>";
1012         } else if( $(this)[0].tagName.toUpperCase() == "OPTGROUP" ){
1013             menu += "<span class=\"dropdown-header\">" + $(this).attr("label") + "</span>";
1014             $(this).children().each(function(){
1015                 if( $(this)[0].tagName.toUpperCase() == "OPTION" ){
1016                     menu += "<a class=\"dropdown-item\" href=\"" + sort_link + $(this).val() + "&direction=" + $(this).data('direction') + "\">" + $(this).text() + "</a>";
1017                 }
1018             });
1019         }
1020     });
1021     menu += "</div>";
1022     $(".list-actions").append( menu );
1023     sorting_form.remove();
1024 }
1025
1026 function AdjustRemark() {
1027     var public;
1028     if( $("#public").length > 0 ) {
1029         public = $("#public").val();
1030     } else {
1031         public = "[% public | html %]";
1032     }
1033     var perms = $("#allow_changes_from").val();
1034
1035     if( perms < 2 ) {
1036         $("#anyone_remark").hide();
1037     } else if( public==0 ) {
1038         // If we move to Private (without shares), show Anyone remark
1039         // Note: the number of shares is not tested real-time
1040         [% IF !shelf.is_shared %]
1041             $("#anyone_remark").show();
1042         [% ELSE %]
1043             $("#anyone_remark").hide();
1044         [% END %]
1045     } else { // public==1
1046         $("#anyone_remark").hide();
1047     }
1048 }
1049 </script>
1050 [% END %]