margin-left: 5em;
}
+/* styles for the cart */
+#record_cart {
+ [% IF rtl == 't' -%]
+ float: left;
+ margin-left: 2em;
+ [% ELSE; %]
+ float: right;
+ margin-right: 2em;
+ [% END; %]
+ position: relative;
+}
+#record_cart_count_floater {
+ background-color: [% css_colors.accent_lighter %];
+ position: absolute;
+ top: -3px;
+ right: -3px; /* relative to icon, so don't want to adjust for RTL */
+ z-index: 2;
+ border-radius: 50%;
+}
+
.result_number {
[% IF rtl == 't' -%]
padding-right: 1em;
--- /dev/null
+<div id="record_cart">
+ <img src="[% ctx.media_prefix %]/images/cart-sm.png[% ctx.cache_key %]" alt="[% l('View Cart') %]">
+ <div id="record_cart_count_floater">
+ <span id="record_cart_count">[% ctx.mylist.size %]</span>
+ <span class="sr-only">[% l('records in cart') %]</span>
+ </div>
+</div>
<span class="adv_search_catalog_lbl"><a href="[% mkurl(ctx.opac_root _ '/advanced', {}, expert_search_parms.merge(browse_search_parms, facet_search_parms)) %]"
id="home_adv_search_link">[% l('Advanced Search') %]</a></span>
<span class="browse_the_catalog_lbl"><a href="[% mkurl(ctx.opac_root _ '/browse', {}, expert_search_parms.merge(general_search_parms, facet_search_parms, ['fi:has_browse_entry'])) %]">[% l('Browse the Catalog') %]</a></span>
+ [% INCLUDE 'opac/parts/cart.tt2' %]
</div>
<div class="searchbar">
<span class='search_box_wrapper'>
var rec_selectors = document.getElementsByClassName("result_record_selector");
var mylist = [];
+ function handleUpdate(result) {
+ if (result) {
+ mylist = result.mylist;
+ document.getElementById('selected_records_count').innerHTML = mylist.length;
+ document.getElementById('record_cart_count').innerHTML = mylist.length;
+ }
+ }
+
function mungeList(op, rec) {
console.debug('calling mungeList to ' + op + ' record ' + rec);
var req = new window.XMLHttpRequest();
if (('responseType' in req) && (req.responseType = 'json')) {
req.onload = function (evt) {
var result = req.response;
- if (result) {
- mylist = result.mylist;
- document.getElementById('selected_records_count').innerHTML = mylist.length;
- }
+ handleUpdate(result);
}
} else {
// IE 10/11
req.onload = function (evt) {
var result = JSON.parse(req.responseText);
- if (result) {
- mylist = result.mylist;
- document.getElementById('selected_records_count').innerHTML = mylist.length;
- }
+ handleUpdate(result);
}
}
req.send();