[open-ils-commits] [GIT] Evergreen ILS branch master updated. d19847c24827faadfcdb5035af21374016c8e632

Evergreen Git git at git.evergreen-ils.org
Mon Oct 3 21:21:59 EDT 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, master has been updated
       via  d19847c24827faadfcdb5035af21374016c8e632 (commit)
       via  d28ca61d634511a6bf693b8b4e3da1ef18dcd503 (commit)
      from  11c3308a4b88c5d6c03b68058fb142c1b650e01b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit d19847c24827faadfcdb5035af21374016c8e632
Author: Bill Erickson <berick at esilibrary.com>
Date:   Mon Oct 3 11:52:34 2011 -0400

    Tpac: expand facet display fix
    
    When only one facet is collapsed, make sure we can expand it.
    
    Signed-off-by: Bill Erickson <berick at esilibrary.com>
    Signed-off-by: Dan Scott <dscott at laurentian.ca>

diff --git a/Open-ILS/src/templates/opac/parts/result/facets.tt2 b/Open-ILS/src/templates/opac/parts/result/facets.tt2
index c4a719d..c5eb9f6 100644
--- a/Open-ILS/src/templates/opac/parts/result/facets.tt2
+++ b/Open-ILS/src/templates/opac/parts/result/facets.tt2
@@ -28,9 +28,13 @@ FOR facet_label IN labels.sort;
                             IF fct != close_key;
                                 new_close.push(fct);
                             END;
-                        END
+                        END;
+                        expand_url = mkurl('', {close_facet => new_close});
+                        IF new_close.size == 0;
+                            expand_url  = mkurl('', {}, ['close_facet']);
+                        END;
                     %]
-                        <a href="[% mkurl('', {close_facet => new_close}) %]"><img 
+                        <a href="[% expand_url %]"><img 
                             src="[% ctx.media_prefix %]/images/adv_search_plus_btn.png" alt="[% l('Expand') %]" /></a>
                     [% ELSE %]
                         <a href="[% mkurl('', {close_facet => close_facets.merge([close_key])}) %]"><img 

commit d28ca61d634511a6bf693b8b4e3da1ef18dcd503
Author: Bill Erickson <berick at esilibrary.com>
Date:   Fri Sep 30 16:01:22 2011 -0400

    TPac: Facets on results page
    
    Show search facets along the left side of the results page.  Clicking on
    a facet re-runs the current search with the  new facet appeneded.
    Selected facets are styled to indicate they are selected.  Clicking on a
    selected facet removes that facet from the set of selected facets (i.e.
    it backs out the facet).
    
    TODO: update CSS to match default Evergreen skin
    
    Signed-off-by: Bill Erickson <berick at esilibrary.com>
    Signed-off-by: Dan Scott <dscott at laurentian.ca>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
index 635678b..37fa582 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
@@ -168,7 +168,7 @@ sub load_rresults {
     }
 
     my $page = $cgi->param('page') || 0;
-    my $facet = $cgi->param('facet');
+    my @facets = $cgi->param('facet');
     my $limit = $self->_get_search_limit;
     my $loc = $cgi->param('loc') || $ctx->{aou_tree}->()->id;
     my $offset = $page * $limit;
@@ -229,7 +229,7 @@ sub load_rresults {
         # Stuff these into the TT context so that templates can use them in redrawing forms
         $ctx->{processed_search_query} = $query;
 
-        $query = "$query $facet" if $facet; # TODO
+        $query .= " $_" for @facets;
 
         $logger->activity("EGWeb: [search] $query");
 
diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
index 6af3a7a..3b72dbc 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
@@ -201,13 +201,23 @@ sub get_records_and_facets {
     # gather up the unapi recs
     $ses->session_wait(1);
 
-    my $facets;
+    my $facets = {};
     if ($facet_key) {
-        $facets = $facet_req->gather(1);
-        $facets->{$_} = {
-            cmf => $self->ctx->{get_cmf}->($_),
-            data => $facets->{$_}
-        } for keys %$facets;    # quick-n-dirty
+        my $tmp_facets = $facet_req->gather(1);
+        for my $cmf_id (keys %$tmp_facets) {
+
+            # sort highest to lowest match count
+            my @entries;
+            my $entries = $tmp_facets->{$cmf_id};
+            for my $ent (keys %$entries) {
+                push(@entries, {value => $ent, count => $$entries{$ent}});
+            };
+            @entries = sort { $b->{count} <=> $a->{count} } @entries;
+            $facets->{$cmf_id} = {
+                cmf => $self->ctx->{get_cmf}->($cmf_id),
+                data => \@entries
+            }
+        }
     } else {
         $facets = undef;
     }
diff --git a/Open-ILS/src/templates/opac/parts/result/facets.tt2 b/Open-ILS/src/templates/opac/parts/result/facets.tt2
new file mode 100644
index 0000000..c4a719d
--- /dev/null
+++ b/Open-ILS/src/templates/opac/parts/result/facets.tt2
@@ -0,0 +1,95 @@
+<div class="facet_box_wrapper">
+[% 
+
+close_facets = CGI.param('close_facet') || [];
+selected_facets = CGI.param('facet') || [];
+
+# collect facet type labels for easier sorting
+labels = []; 
+FOR facet IN ctx.search_facets.values;
+    labels.push(facet.cmf.label);
+END;
+
+FOR facet_label IN labels.sort;
+    FOR facet IN ctx.search_facets.values;
+        IF facet.cmf.label == facet_label;
+            fclass = facet.cmf.field_class;
+            fname = facet.cmf.name;
+            close_key = fclass _ fname %]
+
+        <div class="facet_box_temp">
+            <div class="header">
+                <div class="title">[% facet.cmf.label %]</div>
+                <div class="button">
+
+                    [% IF close_facets.grep(close_key).0;
+                        new_close = [];
+                        FOR fct IN close_facets;
+                            IF fct != close_key;
+                                new_close.push(fct);
+                            END;
+                        END
+                    %]
+                        <a href="[% mkurl('', {close_facet => new_close}) %]"><img 
+                            src="[% ctx.media_prefix %]/images/adv_search_plus_btn.png" alt="[% l('Expand') %]" /></a>
+                    [% ELSE %]
+                        <a href="[% mkurl('', {close_facet => close_facets.merge([close_key])}) %]"><img 
+                            src="[% ctx.media_prefix %]/images/adv_search_minus_btn.png" alt="[% l('Collapse') %]" /></a>
+                    [% END %]
+                </div>
+                <div class="clear">&nbsp;</div>
+            </div>
+            [% IF !close_facets.grep(close_key).0 %]
+            <div class="box_wrapper">
+                <div class="box">
+                [% FOR facet_data IN facet.data;
+                    display_value = facet_data.value | html;
+                    param_string = fclass _ '|' _ fname _ '[' _ facet_data.value _ ']';
+                    new_facets = [];
+                    this_selected = 0;
+                    FOR selected IN selected_facets;
+                        IF selected == param_string; 
+                            this_selected = 1; 
+                        ELSE;
+                            new_facets.push(selected);
+                        END;
+                    END;
+                    IF this_selected;
+                        # This facet is already selected by the user. 
+                        # Link removes the facet from the set of selected facets.
+                    %] 
+                        <div class="facet_template facet_template_selected">
+                            <div class="facet">
+                                [% IF new_facets.size == 0 %]
+                                <a href="[% mkurl('', {}, ['facet']) %]">[% display_value %]</a>
+                                [% ELSE %]
+                                <a href="[% mkurl('', {facet => new_facets}) %]">[% display_value %]</a>
+                                [% END %]
+                            </div>
+                            <div class="count">([% facet_data.count %])</div>
+                            <div class="clear">&nbsp;</div>
+                        </div>
+                    [% 
+                        ELSE;
+                        # This facet is not currently selected.  If selected, 
+                        # append this facet to the list of currently active facets.
+                    %]
+                        <div class="facet_template">
+                            <div class="facet">
+                                <a href='[% mkurl('', {facet => selected_facets.merge([param_string])}) %]'>[% display_value %]</a>
+                            </div>
+                            <div class="count">([% facet_data.count %])</div>
+                            <div class="clear">&nbsp;</div>
+                        </div>
+                    [% END %]
+                [% END %]
+                </div>
+                <div class="clear">&nbsp;</div>
+            </div> <!-- box_wrapper -->
+            [% END %]
+        </div> <!-- facet_box_temp -->
+        [% END %]
+    [% END %]
+[% END %]
+</div> <!-- facet_box_wrapper -->
+
diff --git a/Open-ILS/src/templates/opac/parts/result/table.tt2 b/Open-ILS/src/templates/opac/parts/result/table.tt2
index 0706ef6..b60e647 100644
--- a/Open-ILS/src/templates/opac/parts/result/table.tt2
+++ b/Open-ILS/src/templates/opac/parts/result/table.tt2
@@ -19,8 +19,8 @@
     <table cellpadding="0" cellspacing="0" border="0" width="100%">
         <tr>
             <td valign="top" width="1" style="padding-right:20px;">
-                <div style="width:174px;" class="hide_me">
-                    SIDEBAR TODO
+                <div style="width:174px;">
+                    [% INCLUDE 'opac/parts/result/facets.tt2' %]
                 </div>
             </td>
             <td class='opac-auto-015' width="1"></td>
diff --git a/Open-ILS/web/css/skin/default/opac/style.css b/Open-ILS/web/css/skin/default/opac/style.css
index 368dad5..e90a0ef 100644
--- a/Open-ILS/web/css/skin/default/opac/style.css
+++ b/Open-ILS/web/css/skin/default/opac/style.css
@@ -886,6 +886,7 @@ div.select-wrapper:hover {
 }
 
 /* some facet styling */
+/*
 .facetClassContainer { margin: 2px; border: 1px solid #CCC; }
 .facetClassLabelContainer { border: 1px solid #CCC; }
 .facetClassLabel { font-weight: bold; text-align: center; }
@@ -897,6 +898,77 @@ div.select-wrapper:hover {
 .facetField { border-top: 1px solid #CCC; }
 .facetFields { padding-left: 5px; }
 .facetFieldLineValue { overflow: hidden; text-overflow: ellipsis; }
+*/
+
+.facet_box_temp {
+	padding-bottom:3px;
+	width:180px;
+	overflow:hidden;
+}
+
+.facet_box_temp .header {
+	width:180px;
+	height:31px;
+	overflow:hidden;
+	background:url('/images/facet_box_bg.png') no-repeat;
+	font-weight:bold;
+	color:#074079;
+	padding-top:4px;
+}
+
+.facet_box_temp .header .title {
+	float:left;
+	padding-top:6px;
+	padding-left:12px;
+	width:134px;
+	overflow:hidden;
+}
+
+.facet_box_temp .header .button {
+	float:right;
+	padding-right:6px;
+}
+
+.facet_box_wrapper .box_wrapper {
+	position:relative;
+	top:-4px;
+	margin-bottom:-5px;
+	*margin-bottom:-6px;
+}
+
+.facet_box_wrapper .box_wrapper .box {
+	width:166px;
+	border-top:1px solid #7ebee5;
+	border-left:1px solid #f3f3f3;
+	border-right:1px solid #f3f3f3;
+	background:white;
+	padding-left:12px;
+	padding-top:6px;
+}
+
+.facet_box_wrapper .box_wrapper .bottom {
+	background:url('/images/facet_box_bg_bottom.png') no-repeat;
+}
+
+.facet_template {
+	padding-bottom:5px;
+}
+
+.facet_template .facet {
+	float:left;
+	width:124px;
+}
+
+.facet_template .count {
+	float:right;
+	color:#818080;
+	padding-right:11px;
+}
+
+.facet_template_selected {
+    background-color: #d7d7d7;
+}
+
 #footer-wrap {
     background: linear-gradient(lightGreen, #252525);
     background: -moz-linear-gradient(lightGreen, #252525);
@@ -904,6 +976,7 @@ div.select-wrapper:hover {
     background: -webkit-linear-gradient(lightGreen, #252525);
     background-color: lightGreen;
 }
+
 #footer {
 	padding-top:5px;
 	padding-bottom: 10px;
diff --git a/Open-ILS/web/images/adv_search_minus_btn.png b/Open-ILS/web/images/adv_search_minus_btn.png
new file mode 100644
index 0000000..4050595
Binary files /dev/null and b/Open-ILS/web/images/adv_search_minus_btn.png differ
diff --git a/Open-ILS/web/images/adv_search_plus_btn.png b/Open-ILS/web/images/adv_search_plus_btn.png
new file mode 100644
index 0000000..7f1ae93
Binary files /dev/null and b/Open-ILS/web/images/adv_search_plus_btn.png differ
diff --git a/Open-ILS/web/images/facet_box_bg.png b/Open-ILS/web/images/facet_box_bg.png
new file mode 100644
index 0000000..996f0a8
Binary files /dev/null and b/Open-ILS/web/images/facet_box_bg.png differ
diff --git a/Open-ILS/web/images/facet_box_bg_bottom.png b/Open-ILS/web/images/facet_box_bg_bottom.png
new file mode 100644
index 0000000..fc776c3
Binary files /dev/null and b/Open-ILS/web/images/facet_box_bg_bottom.png differ

-----------------------------------------------------------------------

Summary of changes:
 .../perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm |    4 +-
 .../perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm   |   22 +++-
 .../src/templates/opac/parts/result/facets.tt2     |   99 ++++++++++++++++++++
 Open-ILS/src/templates/opac/parts/result/table.tt2 |    4 +-
 Open-ILS/web/css/skin/default/opac/style.css       |   73 ++++++++++++++
 Open-ILS/web/images/adv_search_minus_btn.png       |  Bin 0 -> 1292 bytes
 Open-ILS/web/images/adv_search_plus_btn.png        |  Bin 0 -> 1388 bytes
 Open-ILS/web/images/facet_box_bg.png               |  Bin 0 -> 449 bytes
 Open-ILS/web/images/facet_box_bg_bottom.png        |  Bin 0 -> 308 bytes
 9 files changed, 192 insertions(+), 10 deletions(-)
 create mode 100644 Open-ILS/src/templates/opac/parts/result/facets.tt2
 create mode 100644 Open-ILS/web/images/adv_search_minus_btn.png
 create mode 100644 Open-ILS/web/images/adv_search_plus_btn.png
 create mode 100644 Open-ILS/web/images/facet_box_bg.png
 create mode 100644 Open-ILS/web/images/facet_box_bg_bottom.png


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list