[Koha-patches] [PATCH] Bug 7719 - Change state of controls based on whether boxes are checked

Owen Leonard oleonard at myacpl.org
Wed Mar 14 20:32:05 CET 2012


Some OPAC interface controls cannot function unless a checkbox is
checked. Examples:

- Placing a hold on multiple items in the cart window or on a list view page
- Adding tags to multiple items in the cart window or on a list view page
- Removing one or more items from the cart window
- Removing one or more items from a list on the list view page
- Adding one or more items to a list from the cart window

This patch moves these controls into a separate div in which links
are enabled or disabled based on whether checkboxes are checked. It
does so on two pages: The lists view page (when viewing the contents
of a list) and in the cart window.

Links which are in their disabled state should not perform any action.
After checking one or more checkboxes the links should become active
and behave normally.
---
 koha-tmpl/opac-tmpl/prog/en/css/opac.css           |   85 +++++++++++++--
 koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt |   85 +++++++++------
 .../opac-tmpl/prog/en/modules/opac-shelves.tt      |  113 +++++++++++++-------
 .../prog/images/delete-shelf-disabled.gif          |  Bin 0 -> 117 bytes
 .../prog/images/place-hold-small-disabled.png      |  Bin 0 -> 316 bytes
 .../prog/images/shelf-delete-disabled.gif          |  Bin 0 -> 118 bytes
 .../opac-tmpl/prog/images/shelf-new-disabled.gif   |  Bin 0 -> 300 bytes
 .../opac-tmpl/prog/images/tags-small-disabled.png  |  Bin 0 -> 316 bytes
 8 files changed, 203 insertions(+), 80 deletions(-)
 create mode 100644 koha-tmpl/opac-tmpl/prog/images/delete-shelf-disabled.gif
 create mode 100644 koha-tmpl/opac-tmpl/prog/images/place-hold-small-disabled.png
 create mode 100644 koha-tmpl/opac-tmpl/prog/images/shelf-delete-disabled.gif
 create mode 100644 koha-tmpl/opac-tmpl/prog/images/shelf-new-disabled.gif
 create mode 100644 koha-tmpl/opac-tmpl/prog/images/tags-small-disabled.png

diff --git a/koha-tmpl/opac-tmpl/prog/en/css/opac.css b/koha-tmpl/opac-tmpl/prog/en/css/opac.css
index 3e4fb00..1eaf7b2 100644
--- a/koha-tmpl/opac-tmpl/prog/en/css/opac.css
+++ b/koha-tmpl/opac-tmpl/prog/en/css/opac.css
@@ -13,6 +13,10 @@ a:hover,#toolbar input.editshelf:hover,input.editshelf:hover,a.editshelf:hover,i
 	color : #990033;
 }
 
+a.disabled {
+	color : #888888 !important;
+}
+
 body {
 	background-color : white;
 	text-align : left;
@@ -467,16 +471,37 @@ a .term {
 
 /* toolbar buttons */
 
-#toolbar {
+#toolbar,
+#selections-toolbar {
 background-color:#EEEEEE;
 border:1px solid #E8E8E8;
-margin : .5em 0;
+margin : 0 0;
 padding:3px 3px 5px 5px;
 vertical-align:middle;
 }
 
+#basket #toolbar {
+	padding: 7px 5px 9px 9px;
+}
+
+#selections-toolbar {
+background: #E8E8E8; /* Old browsers */
+background: -moz-linear-gradient(top, #b2b2b2 0%, #e0e0e0 14%, #e8e8e8 100%); /* FF3.6+ */
+background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b2b2b2), color-stop(14%,#e0e0e0), color-stop(100%,#e8e8e8)); /* Chrome,Safari4+ */
+background: -webkit-linear-gradient(top, #b2b2b2 0%,#e0e0e0 14%,#e8e8e8 100%); /* Chrome10+,Safari5.1+ */
+background: -o-linear-gradient(top, #b2b2b2 0%,#e0e0e0 14%,#e8e8e8 100%); /* Opera 11.10+ */
+background: -ms-linear-gradient(top, #b2b2b2 0%,#e0e0e0 14%,#e8e8e8 100%); /* IE10+ */
+background: linear-gradient(top, #b2b2b2 0%,#e0e0e0 14%,#e8e8e8 100%); /* W3C */
+filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e0e0e0', endColorstr='#e8e8e8',GradientType=0 ); /* IE6-9 */
+	margin : 0 0 1em 0;
+	padding-top : .5em;
+	padding-left : 10px;
+}
+
 #toolbar a,
-#toolbar input {
+#selections-toolbar a,
+#toolbar input,
+#selections-toolbar input {
 	white-space : nowrap;
 }
 
@@ -499,15 +524,15 @@ vertical-align:middle;
 
 
 #toolbar a.print {
-	background: transparent url(../../images/print-small.png) 5px 50% no-repeat;
+	background: transparent url(../../images/print-small.png) 10px 50% no-repeat;
 	text-decoration : none;
-	padding-left : 23px;
+	padding-left : 30px;
 }
 
 #toolbar a.brief {
 	background: transparent url(../../images/brief.gif) 5px 50% no-repeat;
 	text-decoration : none;
-	padding-left : 23px;
+	padding-left : 27px;
 }
 
 #toolbar a.detail {
@@ -540,18 +565,34 @@ vertical-align:middle;
 	padding-left : 26px;
 }
 
-#toolbar a.hold {
+#toolbar a.hold,
+#selections-toolbar a.hold {
 	background: transparent url(../../images/place-hold-small.png) 5px 50% no-repeat;
 	text-decoration : none;
 	padding-left : 23px;
 }
 
+#selections-toolbar a.hold.disabled {
+	background: transparent url(../../images/place-hold-small-disabled.png) 5px 50% no-repeat;
+}
+
 #toolbar a.newshelf {
 	background : transparent url("../../images/shelf-new.gif") 5px 50% no-repeat;
 	padding-left : 23px;
 	text-decoration : none;
 }
 
+#selections-toolbar a.removeitems {
+	background: transparent url(../../images/shelf-delete.gif) 11px 50% no-repeat;
+	text-decoration : none;
+	padding-left : 25px;
+}
+
+
+#selections-toolbar a.removeitems.disabled {
+	background: transparent url(../../images/shelf-delete-disabled.gif) 11px 50% no-repeat;
+}
+
 #toolbar a.send,
 a.send {
 	background: transparent url(../../images/send.png) 2px 50% no-repeat;
@@ -585,7 +626,8 @@ input.editshelf {
 	text-decoration : none;
 }
 
-#toolbar input.newshelf {
+#toolbar input.newshelf,
+a.newshelf {
 	background : transparent url("../../images/shelf-new.gif") center left no-repeat;
 	border : 0;
 	color : #006699;
@@ -596,14 +638,24 @@ input.editshelf {
 	text-decoration : none;
 }
 
+a.newshelf.disabled {
+	background : transparent url("../../images/shelf-new-disabled.gif") center left no-repeat;
+}
+
 #toolbar input.deleteshelf,
-input.deleteshelf {
+input.deleteshelf,
+a.deleteshelf {
 	background : transparent url("../../images/shelf-delete.gif") 7px 50% no-repeat;
 	border : 0;
 	color : #006699;
 	cursor : pointer;
 	font-size : 100%;
 	padding-left : 20px;
+	text-decoration : none;
+}
+
+a.deleteshelf.disabled {
+	background : transparent url("../../images/shelf-delete-disabled.gif") 7px 50% no-repeat;
 }
 
 #toolbar input.deleteshelf:hover {
@@ -618,6 +670,10 @@ input.deleteshelf:active {
 	border : 0;
 }
 
+#selections {
+	font-weight : bold;
+}
+
 #tagsel_span input.submit,
 #tagsel_tag {
 	background-image: url(../../images/tags-small.png);
@@ -627,6 +683,10 @@ input.deleteshelf:active {
 	text-decoration: none;
 }
 
+#tagsel_tag.disabled {
+	background-image: url(../../images/tags-small-disabled.png);
+}
+
 #tagslist li { display : inline; }
 
 #placehold input.submit:hover,
@@ -2258,6 +2318,7 @@ a.localimage img {
 	margin : 0 .5em;
 	padding : .3em;
 }
+
 p.patronimage {
 	border:1px solid #EEE;
 	border-bottom-color:#000;
@@ -2268,4 +2329,10 @@ p.patronimage {
 p.patronimage.edit {
 	border-color:#E8E8E8;
 	margin: 1em 1em 1em 0;
+}
+
+span.sep {
+	color: #888;
+	padding: 0 .2em;
+	text-shadow: 1px 1px 0 #FFF;
 }
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt
index fff80cd..437cbd2 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt
@@ -22,11 +22,15 @@
 	<script type="text/javascript">
 	//<![CDATA[
 
+var MSG_NO_RECORD_SELECTED = _("Please select one or more items");
 $(document).ready(function()
     {
         $("#itemst").tablesorter({
                         headers: { 0: { sorter: false },4:{sorter:false}}
                 });
+    $(".cb").click(function(){
+      enableCheckboxActions();
+    });
     }
 );
 
@@ -76,20 +80,22 @@ function tagAdded() {
 	$(document).ready(function(){
 		$("#CheckAll").click(function(){
 		var checked = [];
-		$("#bookbag_form").checkCheckboxes("*", true).each(
+		$(".checkboxed").checkCheckboxes("*", true).each(
 		    function() {
 				selRecord(this.value,true);
 			}
 		);
+        enableCheckboxActions();
 	        return false;
 	    });
 	    $("#CheckNone").click(function(){
 	    var checked = [];
-		$("#bookbag_form").unCheckCheckboxes("*",true).each(
+		$(".checkboxed").unCheckCheckboxes("*",true).each(
 		    function() {
 				selRecord(this.value,false);
 			}
 		);
+        enableCheckboxActions();
 	        return false;
 	    });
 
@@ -110,6 +116,17 @@ function tagAdded() {
         }
     }
 [% END %][% END %]
+function enableCheckboxActions(){
+    // Enable/disable controls if checkboxes are checked
+    var checkedBoxes = $(".checkboxed input:checkbox:checked");
+    if ($(checkedBoxes).size()) {
+      $("#selections").html(_("With selected titles: "));
+      $("#selections-toolbar .links a").removeClass("disabled");
+    } else {
+      $("#selections").html(_("Select titles to: "));
+      $("#selections-toolbar .links a").addClass("disabled");
+    }
+}
 	//]]>
 	</script>
 	[% END %]
@@ -134,16 +151,16 @@ function tagAdded() {
         [% END %]
 
 [% IF ( verbose ) %]
-	[% UNLESS ( print_basket ) %]<p style="padding: 7px 0; border-top : 1px solid #E8E8E8;"><a id="CheckAll" href="#">Select All</a> <a id="CheckNone" href="#">Clear All</a> | <b>Selected items :</b>
+	[% UNLESS ( print_basket ) %]<div id="selections-toolbar"><a id="CheckAll" href="#">Select all</a> <a id="CheckNone" href="#">Clear all</a> <span class="sep">|</span> <span class="links"><span id="selections">Select titles to: </span>
 <span id="tag_hides">
-<a href="#" onclick="delSelRecords(); return false;">Remove</a>
+<a href="#" class="deleteshelf disabled" onclick="delSelRecords(); return false;">Remove</a>
 [% IF ( opacuserlogin ) %]
     [% IF ( virtualshelves ) %][% IF ( loggedinusername ) %]
-         | <a href="#" onclick="addSelToShelf(); return false;">Add to a list</a>
+         | <a href="#" class="newshelf disabled" onclick="addSelToShelf(); return false;">Add to a list</a>
     [% END %][% END %]
-    [% IF ( RequestOnOpac ) %]| <a href="#" onclick="holdSel(); return false;">Place hold</a>[% END %]
+    [% IF ( RequestOnOpac ) %]| <a href="#" class="hold disabled" onclick="holdSel(); return false;">Place hold</a>[% END %]
     [% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
-    | <a href="#" onclick="tagSelected(); return false;">Tag</a>[% END %][% END %]
+    | <a href="#" id="tagsel_tag" class="disabled" onclick="tagSelected(); return false;">Tag</a>[% END %][% END %]
 [% END %]
 </span>
      <span id="tagsel_form" style="display:none">
@@ -153,18 +170,19 @@ function tagAdded() {
            type="submit" value="Add" style="display:inline" />
        <a href="#" id="tagsel_cancel" onclick="tagCanceled(); return false;" style="display:inline">Cancel</a>
      </span>
-</p>[% END %]
-            <form action="opac-basket.pl" method="get" name="bookbag_form" id="bookbag_form">
+     </span>
+</div>[% END %]
+            <form action="opac-basket.pl" method="get" name="bookbag_form" id="bookbag_form" class="checkboxed">
     [% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
     <h3>
         [% IF ( print_basket ) %]
             [% BIBLIO_RESULT.title |html %]
-                [% IF ( BIBLIO_RESULT.subtitle ) %] [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %][% subtitl.subfield |html %][% END %][% END %]
+                [% IF ( BIBLIO_RESULT.subtitle ) %] [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %] [% subtitl.subfield |html %] [% END %][% END %]
                 [% IF ( BIBLIO_RESULT.author ) %] [% BIBLIO_RESULT.author |html %][% END %]
         [% ELSE %]
-                <input type="checkbox" value="[% BIBLIO_RESULT.biblionumber %]" name="bib[% BIBLIO_RESULT.biblionumber %]" id="bib[% BIBLIO_RESULT.biblionumber %]" onclick="selRecord(value,checked)" />
+                <input type="checkbox" class="cb" value="[% BIBLIO_RESULT.biblionumber %]" name="bib[% BIBLIO_RESULT.biblionumber %]" id="bib[% BIBLIO_RESULT.biblionumber %]" onclick="selRecord(value,checked)" />
                 [% BIBLIO_RESULT.title |html %]
-                [% IF ( BIBLIO_RESULT.subtitle ) %] [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %][% subtitl.subfield |html %][% END %][% END %]
+                [% IF ( BIBLIO_RESULT.subtitle ) %] [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %] [% subtitl.subfield |html %] [% END %][% END %]
                 [% IF ( BIBLIO_RESULT.author ) %] [% BIBLIO_RESULT.author |html %][% END %]
         [% END %]
     </h3>
@@ -306,29 +324,28 @@ function tagAdded() {
 
 [% ELSE %]
 [% UNLESS ( print_basket ) %]
-<form action="/cgi-bin/koha/opac-basket.pl" method="get" name="bookbag_form" id="bookbag_form">
-<p style="border-top : 1px solid #E8E8E8;padding:5px 0;">
+<form action="/cgi-bin/koha/opac-basket.pl" method="get" name="bookbag_form" id="bookbag_form" class="checkboxed">
+<div id="selections-toolbar">
     <a id="CheckAll" href="#">Select All</a>
     <a id="CheckNone" href="#">Clear All</a>
-    | <b>Selected items :</b>
-<span id="tag_hides">
-<a href="#" onclick="delSelRecords(); return false;">Remove</a>
-[% IF ( opacuserlogin ) %]
-    [% IF ( virtualshelves ) %][% IF ( loggedinusername ) %]
-     | <a href="#" onclick="addSelToShelf(); return false;">Add to a list</a>
-    [% END %][% END %]
-    [% IF ( RequestOnOpac ) %]| <a href="#" onclick="holdSel(); return false;">Place hold</a>[% END %]
-    [% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
-    | <a href="#" onclick="tagSelected(); return false;">Tag</a>[% END %][% END %]
-[% END %]
-</span>
-     [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]<span id="tagsel_form" style="display:none">
-       <label for="tagsel_new" style="display:inline">New&nbsp;Tag:</label>
-       <input name="tagsel_new" id="tagsel_new" maxlength="100"  style="display:inline"/>
-       <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="tagsel_button" type="submit" value="Add"  style="display:inline"/>
-       <a href="#" id="tagsel_cancel" onclick="tagCanceled(); return false;" style="display:inline">Cancel</a>
-     </span>[% END %][% END %][% END %]
-</p>
+    <span class="sep">|</span> <span class="links"><span id="selections">Select titles to: </span>
+        <a href="#" class="deleteshelf disabled" onclick="delSelRecords(); return false;">Remove</a>
+    [% IF ( opacuserlogin ) %]
+        [% IF ( virtualshelves ) %][% IF ( loggedinusername ) %]
+          <a href="#" class="newshelf disabled" onclick="addSelToShelf(); return false;">Add to a list</a>
+        [% END %][% END %]
+        [% IF ( RequestOnOpac ) %] <a href="#" class="hold disabled" onclick="holdSel(); return false;">Place hold</a>[% END %]
+        [% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
+         <a href="#" class="disabled" id="tagsel_tag" onclick="tagSelected(); return false;">Tag</a>[% END %][% END %]
+    [% END %]
+    </span>
+         [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]<span id="tagsel_form" style="display:none">
+           <label for="tagsel_new" style="display:inline">New&nbsp;Tag:</label>
+           <input name="tagsel_new" id="tagsel_new" maxlength="100"  style="display:inline"/>
+           <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="tagsel_button" type="submit" value="Add"  style="display:inline"/>
+           <a href="#" id="tagsel_cancel" onclick="tagCanceled(); return false;" style="display:inline">Cancel</a>
+         </span>[% END %][% END %][% END %]</span>
+</div>
 [% END %]
     <table id="itemst">
 	<thead><tr>
@@ -346,7 +363,7 @@ function tagAdded() {
                 <tr>
             [% END %]
             [% UNLESS ( print_basket ) %]<td>
-                        <input type="checkbox" value="[% BIBLIO_RESULT.biblionumber %]" name="bib[% BIBLIO_RESULT.biblionumber %]" id="bib[% BIBLIO_RESULT.biblionumber %]" onclick="selRecord(value,checked);" />
+                        <input type="checkbox" class="cb" value="[% BIBLIO_RESULT.biblionumber %]" name="bib[% BIBLIO_RESULT.biblionumber %]" id="bib[% BIBLIO_RESULT.biblionumber %]" onclick="selRecord(value,checked);" />
 
                 </td> [% END %]
             <td>
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt
index 1f20687..d783852 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt
@@ -6,10 +6,11 @@
 var MSG_NO_TAG_SPECIFIED = _("No tag was specified.");
 var MSG_REMOVE_FROM_LIST = _("Are you sure you want to remove these items from the list?");
 var MSG_CONFIRM_DELETE_LIST = _("Are you sure you want to delete this list?");
+var MSG_NO_RECORD_SELECTED = _("Please select one or more items");
 
 [% IF ( opacuserlogin ) %][% IF ( RequestOnOpac ) %]
 function holdSelections() {
-    var checkedBoxes = $(":checkbox:checked");
+    var checkedBoxes = $("input:checkbox:checked");
     if ($(checkedBoxes).size() == 0) {
         alert(MSG_NO_RECORD_SELECTED);
     } else {
@@ -63,33 +64,51 @@ function tagAdded() {
     return false;
 }[% END %][% END %][% END %]
 
+function enableCheckboxActions(){
+    // Enable/disable controls if checkboxes are checked
+    var checkedBoxes = $(".checkboxed input:checkbox:checked");
+    if ($(checkedBoxes).size()) {
+      $("#selections").html(_("With selected titles: "));
+      $("#selections-toolbar .links a").removeClass("disabled");
+    } else {
+      $("#selections").html(_("Select titles to: "));
+      $("#selections-toolbar .links a").addClass("disabled");
+    }
+}
+
 $(function() {
     [% IF ( opacbookbag ) %]$(".addtocart").show();[% END %]
-    $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_('Clear All')+"<\/a>|");
-    $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_('Select All')+"<\/a>");
+    $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_('Clear all')+"<\/a>");
+    $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_('Select all')+"<\/a>");
   $("a.print").show();
 
-    [% IF ( opacuserlogin ) %][% IF ( RequestOnOpac ) %]$("#placehold").html("<a href=\"#\" class=\"hold tag_hides\">"+_('Place Hold')+"<\/a>");
-      $("#toolbar a.hold").click(function(){
+    [% IF ( opacuserlogin ) %][% IF ( RequestOnOpac ) %]$("#placehold").html("<a href=\"#\" class=\"hold tag_hides disabled\">"+_('Place hold')+"<\/a>");
+      $("#selections-toolbar a.hold").click(function(){
          holdSelections();
          return false;
       });[% END %][% END %]
 
     $("#CheckAll").click(function(){
         $(".checkboxed").checkCheckboxes();
+        enableCheckboxActions();
         return false;
     });
     $("#CheckNone").click(function(){
         $(".checkboxed").unCheckCheckboxes();
+        enableCheckboxActions();
         return false;
     });
 
+    $(".cb").click(function(){
+      enableCheckboxActions();
+    });
+
     [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
           $("#addtags").click(function(){
             tagSelected();
             return false;
           });
-          $("#addtags").html("<a id=\"tagsel_tag\" href=\"#\">"+_("Tag")+"<\/a> |");
+          $("#addtags").html("<a id=\"tagsel_tag\" href=\"#\" class=\"disabled\">"+_("Tag")+"<\/a> ");
 
         $(".tagbutton").click(KOHA.Tags.add_tag_button);
       [% IF ( loggedinusername ) %]
@@ -112,6 +131,22 @@ $(function() {
             });
         [% END %]
         [% END %][% END %][% END %]
+  [% IF ( loggedinusername && manageshelf ) %]
+  $("#myform").submit(function(){
+    var checkedBoxes = $(".checkboxed input:checkbox:checked");
+    if ($(checkedBoxes).size()) {
+      return confirmDelete(MSG_REMOVE_FROM_LIST);
+    } else {
+      alert(MSG_NO_RECORD_SELECTED);
+      return false;
+    }
+  });
+    $("#removeitems").html("<a href=\"#\" class=\"removeitems tag_hides disabled\">"+_("Remove from list")+"</a>")
+    .click(function(){
+      $("#myform").submit();
+      return false;
+    });
+  [% END %]
   [% IF ( GoogleJackets ) %]KOHA.Google.GetCoverFromIsbn();[% END %]
 });
       function Check(f) {
@@ -185,34 +220,19 @@ $(function() {
             [% IF ( viewshelf ) %]<!--  Viewing a particular shelf -->
               <h3><a href="/cgi-bin/koha/opac-shelves.pl">Lists</a> <img src="[% themelang %]/../images/caret.gif" width="16" height="16" alt="&gt;" border="0" /> <em>[% shelfname |html %]</em></h3>
               [% IF ( itemsloop ) %]
-                  <div id="toolbar" class="list-actions"> <span class="checkall"></span>
-                    <span class="clearall"></span>
-
-[% IF ( RequestOnOpac ) %]
-                      <span id="placehold"></span>[% UNLESS ( TagsEnabled ) %] |[% END %]
-[% END %]
-[% IF ( loggedinusername ) %]
-    [% IF ( TagsEnabled ) %]
-                    <span id="addtags"></span>
-                    <span id="tagsel_form" style="display:none">
-                      <label for="tagsel_new" style="display:inline">New&nbsp;Tag:</label>
-                      <input name="tagsel_new" id="tagsel_new" maxlength="100" style="display:inline"/>
-                      <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="tagsel_button"
-                             type="submit" value="Add" style="display:inline" />
-                      <a href="#" id="tagsel_cancel" onclick="tagCanceled(); return false;" style="display:inline">Cancel</a>
-                  </span>
-    [% END %][% END %]
-
-                      <a href="/cgi-bin/koha/opac-downloadshelf.pl?shelfid=[% shelfnumber %]" class="download tag_hides" onclick="open(CGIBIN+'opac-downloadshelf.pl?shelfid=[% shelfnumber %]','win_form','dependant=yes,scrollbars=no,resizable=no,height=300,width=450,top=50,left=100'); return false;">Download List</a>
-
-[% IF ( opacuserlogin ) %]<span class="sendlist"><a href="/cgi-bin/koha/opac-sendshelf.pl?shelfid=[% shelfnumber %]" class="send tag_hides" onclick="open(CGIBIN+'opac-sendshelf.pl?shelfid=[% shelfnumber %]','win_form','dependant=yes,scrollbars=no,resizable=no,height=300,width=450,top=50,left=100'); return false; ">Send List</a></span>[% END %]
-
-<a class="print tag_hides" href="opac-shelves.pl" onclick="print(); return false;">Print List</a>
-
-                [% IF ( manageshelf ) %] | <form method="get" action="opac-shelves.pl" class="tag_hides"><input type="hidden" name="op" value="modif" />
+                  <div id="toolbar" class="list-actions">
+
+                      <a href="/cgi-bin/koha/opac-downloadshelf.pl?shelfid=[% shelfnumber %]" class="download" onclick="open(CGIBIN+'opac-downloadshelf.pl?shelfid=[% shelfnumber %]','win_form','dependant=yes,scrollbars=no,resizable=no,height=300,width=450,top=50,left=100'); return false;">Download List</a>
+
+[% IF ( opacuserlogin ) %]<span class="sendlist"><a href="/cgi-bin/koha/opac-sendshelf.pl?shelfid=[% shelfnumber %]" class="send" onclick="open(CGIBIN+'opac-sendshelf.pl?shelfid=[% shelfnumber %]','win_form','dependant=yes,scrollbars=no,resizable=no,height=300,width=450,top=50,left=100'); return false; ">Send List</a></span>[% END %]
+
+<a class="print" href="opac-shelves.pl" onclick="print(); return false;">Print List</a>
+
+                [% IF ( manageshelf ) %] <span class="sep">|</span> <form method="get" action="opac-shelves.pl"><input type="hidden" name="op" value="modif" />
                 <input type="hidden" name="display" value="viewshelf" />
-                <input type="hidden" name="shelfnumber" value="[% shelfnumber %]" /> <input type="submit" class="editshelf tag_hides" value="Edit List" /></form>
-                      <form method="post" action="opac-shelves.pl" class="tag_hides">
+                <input type="hidden" name="shelfnumber" value="[% shelfnumber %]" /> <input type="submit" class="editshelf" value="Edit List" /></form>
+
+                      <form method="post" action="opac-shelves.pl">
                         <input type="hidden" value="1" name="shelves"/>
                          <input type="hidden" value="1" name="DEL-[% shelfnumber %]"/>
                          <input type="submit" class="deleteshelf" value="Delete List" onclick="return confirmDelete(MSG_CONFIRM_DELETE_LIST);"/>
@@ -220,8 +240,26 @@ $(function() {
 
 
                   </div>
-
-                  <form action="/cgi-bin/koha/opac-shelves.pl" method="post" name="myform" class="checkboxed">
+                  <div id="selections-toolbar" class="list-actions">
+                  <span class="checkall"></span> <span class="clearall"></span> <span class="sep">|</span>
+                  <span class="links"><span id="selections">Select titles to: </span>
+                                      [% IF ( RequestOnOpac ) %]
+                                        <span id="placehold"></span>
+                                      [% END %]
+                                      [% IF ( loggedinusername ) %]
+                                        [% IF ( TagsEnabled ) %]
+                                          <span id="addtags"></span>
+                                          <span id="tagsel_form" style="display:none">
+                                          <label for="tagsel_new" style="display:inline">New&nbsp;Tag:</label>
+                                          <input name="tagsel_new" id="tagsel_new" maxlength="100" style="display:inline"/>
+                                          <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="tagsel_button" type="submit" value="Add" style="display:inline" />
+                                          <a href="#" id="tagsel_cancel" onclick="tagCanceled(); return false;" style="display:inline">Cancel</a>
+                                          </span>
+                                        [% END %]
+                                      [% END %]
+                    [% IF ( loggedinusername && manageshelf ) %]<span id="removeitems"></span>[% END %]</span>
+                  </div>
+                  <form action="/cgi-bin/koha/opac-shelves.pl" method="post" id="myform" name="myform" class="checkboxed">
                 [% IF ( manageshelf ) %]
                     <input type="hidden" name="viewshelf" value="[% shelfnumber %]" />
                     <input type="hidden" name="modifyshelfcontents" value="1" />
@@ -235,7 +273,7 @@ $(function() {
                     [% ELSE %]
                       <tr>
                     [% END %]
-                        <td><input type="checkbox" name="REM-[% itemsloo.biblionumber %]"
+                        <td><input type="checkbox" class="cb" name="REM-[% itemsloo.biblionumber %]"
                                    value="[% itemsloo.biblionumber %]" /></td>
                     [% UNLESS ( item_level_itypes ) %]
                         <td>
@@ -258,6 +296,7 @@ $(function() {
                                 [% END %]
                 [% IF ( itemsloo.title ) %][% itemsloo.title |html %][% ELSE %]No title[% END %] [% FOREACH subtitl IN itemsloo.subtitle %][% subtitl.subfield|html %][% END %]</a>
                                 [% IF ( itemsloo.author ) %]by <a href="/cgi-bin/koha/opac-search.pl?q=au:[% itemsloo.author |url %]" title="Search for works by this author" class="author">[% itemsloo.author %]</a>
+
                                 [% ELSE %]&nbsp;
                                 [% END %]
         <span class="results_summary"><span class="label">Publication:</span>
@@ -360,7 +399,7 @@ $(function() {
               [% IF ( itemsloop ) %]
                 <input type="hidden" name="shelfnumber" value="[% shelfnumber %]" />
                 <input type="hidden" name="modifyshelfcontents" value="1" />
-                <input type="hidden" name="viewshelf" value="[% shelfnumber %]" /><input type="submit" value="Remove Selected Items" class="icon delete" onclick="return confirmDelete(MSG_REMOVE_FROM_LIST)" />
+                <input type="hidden" name="viewshelf" value="[% shelfnumber %]" /><input type="submit" value="Remove Selected Items" class="icon delete" />
               [% ELSE %]
                 <form method="post" action="opac-shelves.pl">
                   <input type="hidden" name="DEL-[% shelfnumber %]" value="1" />
diff --git a/koha-tmpl/opac-tmpl/prog/images/delete-shelf-disabled.gif b/koha-tmpl/opac-tmpl/prog/images/delete-shelf-disabled.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3d68178636f4838032901a7e7af67ad9106d5400
GIT binary patch
literal 117
zcmZ?wbhEHb<YeGx*v!LFSy@?9Qqs`S(A(SF*Vk83QPJMs-qzMuP*6}`Ute5YoS&cn
z|Nnmm7*PDl!pOkD!=M8a0GYwSqBP;8r?zTxQstS%xrVAsCWN>$hImP92si1RN%H<w
L5?v$8$Y2csC`~16

literal 0
HcmV?d00001

diff --git a/koha-tmpl/opac-tmpl/prog/images/place-hold-small-disabled.png b/koha-tmpl/opac-tmpl/prog/images/place-hold-small-disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..827cd4d0bcecf59b57c3fce493f81bdc690a341e
GIT binary patch
literal 316
zcmeAS at N?(olHy`uVBq!ia0vp at K+M6x3?xN=wEhKBEa{HEjtmUzPnffIy#(?lOI#yL
zg7ec#$`gxH85~pclTsBta}(23gHjVyDhp4h+5i<91o(uwW at l#?6%~E{{Q1L&55Io>
z`u_d<moHyFe*9QfRh5&IQ(awMQ&aQz at 89zB^8f$;12rA=_5ry>pd`pI7$|}a7#=9c
zN&@A|JY5_^DsCk`c>X;7!IP8(2Bo^X1_mZ2KRb>GPoA at LC@Az#WansLQMR{tU at -h(
zyorHvLPAQ)6R^zGiBqRfojP^m^y%^n4H6YIZ``PuIpao!BLk4PW5&&!H)qbgX=!1x
r!-9dSqp`bt_H5~v#;}jfED{W7{xL6__#z<-=mG{$S3j3^P6<r_XQzaQ

literal 0
HcmV?d00001

diff --git a/koha-tmpl/opac-tmpl/prog/images/shelf-delete-disabled.gif b/koha-tmpl/opac-tmpl/prog/images/shelf-delete-disabled.gif
new file mode 100644
index 0000000000000000000000000000000000000000..925f9d01f15d0d02acd12d11e47b18f322506672
GIT binary patch
literal 118
zcmZ?wbhEHb<YeGx*v!LFQc}|1-d<Ex)Z5!zSy@?8QPJ1eS6p0NP*6}`U*Fc&mY<*h
z|Nnmm7*PDl!pOkD!=M8a0GYwSqCDZGr?zRbl=9ScuLVAykzp=@A?yV*hqfqi8!KN5
MdcNanxFCZy04>%g1poj5

literal 0
HcmV?d00001

diff --git a/koha-tmpl/opac-tmpl/prog/images/shelf-new-disabled.gif b/koha-tmpl/opac-tmpl/prog/images/shelf-new-disabled.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b2c7bc0a0cb22dc6cee537792fdf86ee1b0fe3dd
GIT binary patch
literal 300
zcmZ?wbhEHb<YeGxxT?Sq78dsH+qX%RCVl?=IU*t=FfcGQH1zlH-&e0*{rB(RmMvR8
ze*Ea`>zkC6^z7NQty{MS2M5Q+#YIO)dwY9dxpE~TAt4|j;N81-K0ZFLUcE|8Onm+N
zbxcgmr%#`L{rdGE3>at$6o0ZXGB7AG=zuH%`H6we(_un^hfa{#6i&BJK^qy_W9h$6
z28eKYA9|!2VZ<bG#My3wqJqPL3lBY*7z7qxmgITCGU3Ughu<v~1f`p$C8Y%wq(r5<
Kx_A{F8LR;vid{DV

literal 0
HcmV?d00001

diff --git a/koha-tmpl/opac-tmpl/prog/images/tags-small-disabled.png b/koha-tmpl/opac-tmpl/prog/images/tags-small-disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0b63b486a63ee19aa5ab39a3248555bdc8499b6
GIT binary patch
literal 316
zcmeAS at N?(olHy`uVBq!ia0vp^+(695!3-or^+GlRDVB6cUq=Rp^(V|(yIunMk|nMY
zCBgY=CFO}lsSJ)O`AMk?p1FzXsX?iUDV2pMQ*D5X3<7*YTw7XNnwpyG>+3r at Iw~tG
ztE#HHy1Hs>Yk&Uy`R&`cFJHd={{8#!- at iRQJvB8oKux&`f4zW|KuM5a at PAam@IX0M
z5-3;Z>EaktaVzNoJCj(Q0Rx8un?Uze(KBou3JSCP`}^DZj{uo$c4cL1a&mHN3epM<
z5<ePs-174B7BDq1Fexc?H#RpnH_8LW9g1XR&dixJ=L`cQOVVfN$TKl>a)8XV&zlPi
pKYsee#3ImgmOtg=XJ!@&23=2<*G`r<7Xw|u;OXk;vd$@?2>{KlcWVFu

literal 0
HcmV?d00001

-- 
1.7.3



More information about the Koha-patches mailing list