add 'clear selections' link near results table
authorGalen Charlton <gmc@equinoxinitiative.org>
Wed, 23 May 2018 15:26:31 +0000 (11:26 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Wed, 23 May 2018 15:26:31 +0000 (11:26 -0400)
This clears only records selected on the current page; it does not
empty the entire cart.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/templates/opac/css/style.css.tt2
Open-ILS/src/templates/opac/parts/result/table.tt2
Open-ILS/web/js/ui/default/opac/record_selectors.js

index 489b408..46d5e40 100644 (file)
@@ -1034,7 +1034,7 @@ tr.result_table_row > td.result_table_pic_header {
 .result_table_row_selected {
     background-color: [% css_colors.item_selected %];
 }
-#selected_records_summary {
+#selected_records_summary, #clear_selected_records {
     margin-left: 5em;
 }
 
index 77e47dd..0dcd596 100644 (file)
@@ -42,6 +42,7 @@
                             [% l('selected titles') %]
                         [% END; %]
                     <span>
+                    <a id="clear_selected_records" href="#">[% l('Clear selections') %]</a>
                 </div>
                 [% END %]
                 <table id="result_table_table" title="[% l('Search Results') %]"
index 89cd972..e82e72b 100644 (file)
         document.getElementById('select_all_records').checked = true;
     }
 
+    function deselectSelectedOnPage() {
+        var to_del = [];
+        [].forEach.call(rec_selectors, function(el) {
+            if (el.checked) {
+                el.checked = false;
+                adjustLegacyControlsVis('delete', el.value);
+                toggleRowHighlighting(el);
+                to_del.push(el.value);
+            }
+        });
+        if (to_del.length > 0) {
+            mungeList('delete', to_del);
+        }
+    }
+
     document.getElementById('select_all_records').addEventListener('click', function() {
         if (this.checked) {
             // adding
             }
         } else {
             // deleting
-            var to_del = [];
-            [].forEach.call(rec_selectors, function(el) {
-                if (el.checked) {
-                    el.checked = false;
-                    adjustLegacyControlsVis('delete', el.value);
-                    toggleRowHighlighting(el);
-                    to_del.push(el.value);
-                }
-            });
-            if (to_del.length > 0) {
-                mungeList('delete', to_del);
-            }
+            deselectSelectedOnPage();
         }
     });
 
+    document.getElementById('clear_selected_records').addEventListener('click', function() {
+        deselectSelectedOnPage();
+        document.getElementById('select_all_records').checked = false;
+    });
+
+
 })();