From b1f9ce1d5784ce87047472d31a7119c27a5cdf52 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Wed, 16 May 2012 10:25:41 -0400 Subject: [PATCH] Bug 7500 [FOLLOW-UP][Missing images] Use CSS Sprites for faster page loading - Adds shelf browser navigational arrows to the main sprite. - Removes "caret.gif" (a sort of breadcrumbs separator in the OPAC) and replaces it with a similar Unicode arrow entity. - Replaces item-bullet.gif (a custom list bullet used in the Cart) with data URI encoding the image in the CSS Signed-off-by: Chris Cormack --- koha-tmpl/opac-tmpl/prog/en/css/opac.css | 27 ++++++++++++++++++-- .../opac-tmpl/prog/en/modules/opac-account.tt | 2 +- koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt | 6 ++--- .../opac-tmpl/prog/en/modules/opac-messaging.tt | 2 +- koha-tmpl/opac-tmpl/prog/en/modules/opac-passwd.tt | 2 +- .../opac-tmpl/prog/en/modules/opac-privacy.tt | 2 +- .../prog/en/modules/opac-readingrecord.tt | 2 +- .../opac-tmpl/prog/en/modules/opac-shelves.tt | 2 +- .../opac-tmpl/prog/en/modules/opac-userdetails.tt | 2 +- .../opac-tmpl/prog/en/modules/opac-userupdate.tt | 2 +- koha-tmpl/opac-tmpl/prog/images/browse-next.gif | Bin 186 -> 0 bytes koha-tmpl/opac-tmpl/prog/images/browse-prev.gif | Bin 189 -> 0 bytes koha-tmpl/opac-tmpl/prog/images/caret.gif | Bin 63 -> 0 bytes koha-tmpl/opac-tmpl/prog/images/item-bullet.gif | Bin 59 -> 0 bytes koha-tmpl/opac-tmpl/prog/images/sprite.png | Bin 7511 -> 3138 bytes 15 files changed, 36 insertions(+), 13 deletions(-) delete mode 100644 koha-tmpl/opac-tmpl/prog/images/browse-next.gif delete mode 100644 koha-tmpl/opac-tmpl/prog/images/browse-prev.gif delete mode 100644 koha-tmpl/opac-tmpl/prog/images/caret.gif delete mode 100644 koha-tmpl/opac-tmpl/prog/images/item-bullet.gif diff --git a/koha-tmpl/opac-tmpl/prog/en/css/opac.css b/koha-tmpl/opac-tmpl/prog/en/css/opac.css index 1e259fb..7a85217 100644 --- a/koha-tmpl/opac-tmpl/prog/en/css/opac.css +++ b/koha-tmpl/opac-tmpl/prog/en/css/opac.css @@ -2018,7 +2018,6 @@ a#MARCview, a#MARCviewPop, a#ISBDview, a#Normalview, a#Fullhistory, a#Briefhisto text-decoration : none; } #shelfbrowser td, #shelfbrowser th { - vertical-align : bottom; width : 20%; } #shelfbrowser td.top { @@ -2030,6 +2029,30 @@ a#MARCview, a#MARCviewPop, a#ISBDview, a#Normalview, a#Fullhistory, a#Briefhisto #shelfbrowser a { display : block; } +#shelfbrowser #browser_next, +#shelfbrowser #browser_previous { + background-image : url("../../images/sprite.png"); + background-position : -5px -988px; + background-repeat: no-repeat; + width : 16px; +} +#shelfbrowser #browser_next a, +#shelfbrowser #browser_previous a { + cursor: pointer; + display : block; + height: 0 !important; + margin: 0; + overflow: hidden; + padding: 50px 0 0; + text-decoration: none; + width: 16px; +} +#shelfbrowser #browser_previous { +background-position: -9px -1001px; +} +#shelfbrowser #browser_next { +background-position: -9px -1051px; +} #comments .commentline { border-bottom : 2px solid #eeeeeb; @@ -2139,7 +2162,7 @@ div.ft { } #basket td ul li { font-size:90%; - list-style:disc outside url("../../images/item-bullet.gif"); + list-style:disc outside url(data:image/gif;base64,R0lGODlhBQAHAJECAP///5zD6v///wAAACH5BAEAAAIALAAAAAAFAAcAAAIMjCUGkbvhFGQSmVAAADs=); padding:0.2em 0; } diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-account.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-account.tt index 581b948..eb9ee87 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-account.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-account.tt @@ -13,7 +13,7 @@
[% FOREACH BORROWER_INF IN BORROWER_INFO %] -

[% BORROWER_INF.firstname %] [% BORROWER_INF.surname %]'s account > Fines and charges

+

[% BORROWER_INF.firstname %] [% BORROWER_INF.surname %]'s account ⇢ Fines and charges

[% END %] [% IF ( ACCOUNT_LINES ) %] diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt index 54ed48e..b23c0af 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt @@ -795,7 +795,7 @@ YAHOO.util.Event.onContentReady("furtherm", function () { - + [% FOREACH PREVIOUS_SHELF_BROWS IN PREVIOUS_SHELF_BROWSE %] [% END %] - + @@ -838,7 +838,7 @@ YAHOO.util.Event.onContentReady("furtherm", function () { [% END %] [% FOREACH NEXT_SHELF_BROWS IN NEXT_SHELF_BROWSE %] - + [% END %]
Previous [% IF ( OPACAmazonEnabled ) %][% IF ( OPACAmazonCoverImages ) %][% IF ( PREVIOUS_SHELF_BROWS.browser_normalized_isbn ) %][% ELSE %]No cover image available[% END %][% END %][% END %] @@ -829,7 +829,7 @@ YAHOO.util.Event.onContentReady("furtherm", function () { Next
[% NEXT_SHELF_BROWS.itemcallnumber %][% NEXT_SHELF_BROWS.title |html %][% NEXT_SHELF_BROWS.itemcallnumber %][% NEXT_SHELF_BROWS.title |html %]
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-messaging.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-messaging.tt index 8cfd5eb..8f8e6b4 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-messaging.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-messaging.tt @@ -25,7 +25,7 @@
[% FOREACH BORROWER_INF IN BORROWER_INFO %] -

[% BORROWER_INF.firstname %] [% BORROWER_INF.surname %]'s account > Your messaging settings

+

[% BORROWER_INF.firstname %] [% BORROWER_INF.surname %]'s account ⇢ Your messaging settings

[% END %]
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-passwd.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-passwd.tt index 3be0ef8..907835f 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-passwd.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-passwd.tt @@ -9,7 +9,7 @@
-

[% firstname %] [% surname %]'s account > Change your password

+

[% firstname %] [% surname %]'s account ⇢ Change your password

[% IF ( Error_messages ) %]

There was a problem with your submission

diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-privacy.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-privacy.tt index adbc8f0..6440351 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-privacy.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-privacy.tt @@ -9,7 +9,7 @@
-

[% firstname %] [% surname %]'s account > Privacy policy

+

[% firstname %] [% surname %]'s account ⇢ Privacy policy

[% IF ( deleted ) %]
Your reading history has been deleted.
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-readingrecord.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-readingrecord.tt index 8786925..89d55a2 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-readingrecord.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-readingrecord.tt @@ -24,7 +24,7 @@ $(document).ready(function(){
-

[% firstname %] [% surname %]'s account > Checkout history

+

[% firstname %] [% surname %]'s account ⇢ Checkout history

[% UNLESS ( count ) %] You have never borrowed anything from this library. 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 716f2e1..4664b3b 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt @@ -255,7 +255,7 @@ $(function() {
[% IF ( viewshelf ) %] -

Lists > [% shelfname |html %]

+

Lists[% shelfname |html %]

[% IF ( itemsloop ) %]
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-userdetails.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-userdetails.tt index 0befa83..e695a7a 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-userdetails.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-userdetails.tt @@ -9,7 +9,7 @@
-

[% firstname %] [% surname %]'s account > Personal details

+

[% firstname %] [% surname %]'s account ⇢ Personal details

diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-userupdate.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-userupdate.tt index b903e4d..60db209 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-userupdate.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-userupdate.tt @@ -13,7 +13,7 @@
[% FOREACH BORROWER_INF IN BORROWER_INFO %] -

[% INCLUDE 'patron-title.inc' firstname = BORROWER_INF.firstname surname = BORROWER_INF.surname othernames = BORROWER_INF.othernames cardnumber = BORROWER_INF.cardnumber %]'s account > Your personal details

+

[% INCLUDE 'patron-title.inc' firstname = BORROWER_INF.firstname surname = BORROWER_INF.surname othernames = BORROWER_INF.othernames cardnumber = BORROWER_INF.cardnumber %]'s account ⇢ Your personal details

[% IF ( OPACPatronDetails ) %] diff --git a/koha-tmpl/opac-tmpl/prog/images/browse-next.gif b/koha-tmpl/opac-tmpl/prog/images/browse-next.gif deleted file mode 100644 index 7fcd3f0855dd01c9cf11ec30309769ec0c16c814..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmZ?wbhEHb6ksr7Sj5UO>EQdY+4s&r{pC`-rEJri|Ns9pfPvyq7DfgJRt6mq52TiX zxjtgo9jSvSgEL^p+AU?9-h|D*cmC~%egS)S#yF!FJy&C~s-4<}L2*>dWco%bYNAYR>dBrkS%`CeJCGC&I~K4FDo$QdHwg3PC diff --git a/koha-tmpl/opac-tmpl/prog/images/item-bullet.gif b/koha-tmpl/opac-tmpl/prog/images/item-bullet.gif deleted file mode 100644 index eae920d001a46880af09818892e18bfe8e872e2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59 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 bkIMWH%(1%HVY2qM00000NkvXXu0mjf>5s6# literal 7511 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 F{2w4>zwZD5 -- 1.7.9.5
Name: [% firstname %] [% surname %]