Refactor the search filters to match advanced search
authorFredric T Parks <fparks@catalystitservices.com>
Mon, 19 Aug 2013 17:00:06 +0000 (10:00 -0700)
committerKathy Lussier <klussier@masslnc.org>
Fri, 2 Dec 2016 14:50:41 +0000 (09:50 -0500)
Signed-off-by: Fredric T Parks <fparks@catalystitservices.com>
Open-ILS/src/templates/opac/parts/advanced/boolean.tt2

index 618f304..88f16d1 100644 (file)
-[% query = CGI.param('boolean_query'); %]
+[% 
+    PROCESS "opac/parts/misc_util.tt2";
+    PROCESS get_library;
+    query = CGI.param('boolean_query'); 
+%]
 <form action="[% ctx.opac_root %]/results" method="GET">
-       <div style="width:100%;" class="header_middle">[% l("Free-Form Boolean Search") %]</div>
-       <input class="hidden" name="boolean" class="hidden" value=true/>
-       <input type="text" name="boolean_query" size="50" value="[% query | html %]" autofocus />
-    <div style="width:100%;" class="header_middle">[% l('Search Filters') %]</div>
-       <table cellpadding='10' cellspacing='0' border='0'>
-       [%
-               in_row = 0;
-               FOR adv_chunk IN search.adv_config;
-                       NEXT IF adv_chunk.adv_hide;
-                       IF in_row == 0;
-                               in_row = 1; %]
-                               <tr>
-       [%
-                       END; %]
-                               <td valign='top'>
-                                       <strong>[% adv_chunk.adv_label %]</strong><br />
-       [%
-                       IF adv_chunk.adv_special;
-                               SWITCH adv_chunk.adv_special;
-                                       CASE "lib_selector";
-                                               PROCESS "opac/parts/org_selector.tt2";
-                                                       INCLUDE build_org_selector show_loc_groups=1; %]
-                                                               <div style="position:relative;top:7px;">
-                                                                       <input type='checkbox' name="modifier"
-                                                                               value="available"[% CGI.param('modifier').grep('available').size ? ' checked="checked"' : '' %]
-                                                                               id='opac.result.limit2avail' />
-                                                                       <label style="position:relative;top:-2px;"
-                                                                               for='opac.result.limit2avail'>
-                                                                               [% l("Limit to Available") %]</label>
-                                                               </div>
-       [%
-                                       CASE "pub_year"; %]
-                                                               <select name='pubdate' onchange='
-                                                                       if(this.selectedIndex == 3)
-                                                                               unHideMe($("adv_global_pub_date_2_span"));
-                                                                       else
-                                                                               hideMe($("adv_global_pub_date_2_span"));'>
-                                                                               [%  FOR opt IN [
-                                                                                               {"code" => "is", "label" => l("Is")},
-                                                                                               {"code" => "before", "label" => l("Before")},
-                                                                                               {"code" => "after", "label" => l("After")},
-                                                                                               {"code" => "between", "label" => l("Between")} ] %]
-                                                                                       <option value="[% opt.code %]"[% CGI.param('pubdate') == opt.code ? ' selected="selected"' : '' %]>[% opt.label | html %]</option>
-                                                                               [%  END %]
-                                                               </select>    
-                                                               <div style='margin-top:5px;'>
-                                                                       <input name='date1' type='text' size='4' maxlength='4' value="[% CGI.param('date1') | html %]" />
-                                                                       <span id='adv_global_pub_date_2_span' class='[% CGI.param("pubdate") == "between" ? "" : "hide_me" %]'>
-                                                                          [% l("and") %] <input name='date2' type='text' size='4' maxlength='4' value="[% CGI.param('date2') | html %]" />
-                                                                       </span>
-                                                               </div>
-       [%
-                                       CASE "sort_selector";
-                                               INCLUDE "opac/parts/filtersort.tt2"
-                                                       value=CGI.param('sort') class='results_header_sel';
-                               END;
-                       ELSIF adv_chunk.adv_attr;
-                               INCLUDE "opac/parts/coded_value_selector.tt2"
-                                       attr=adv_chunk.adv_attr multiple="multiple" size="4";
-                       END; %]
-                               </td>
-       [%
-                       IF adv_chunk.adv_break;
-                               in_row = 0; %]
-                               </tr>
-       [%
-                       END;
-               END; %]
-       </table>
+    <table id='adv_global_search' class='data_grid data_grid_center' width='100%'>
+        <tr style='border-bottom: none;'>
+            <!-- Contains the user-addable(?) rows to define search class, containment and text -->
+            <td valign='top' class='adv_global_input_container'>
+                <table width='100%' id='adv_global_input_table'>
+                    <thead>
+                        <tr>
+                            <td>
+                                <div style="width:100%;" class="header_middle">
+                                    [% l("Free-Form Boolean Search") %]
+                                </div>
+                            </td>
+                        </tr>
+                    </thead>
+                    <tbody id='adv_global_tbody'>
+                        <tr>
+                            <td>
+                                <input class="hidden" name="boolean" class="hidden" value=true/>
+                                <input type="text" name="boolean_query" size="50" value="[% query | html %]" autofocus />
+                            </td>
+                        </tr>
+                    </tbody>
+                </table>
+            </td>
+        </tr>
+        <tr>
+            <td align='top'>
+                <div style="width:100%;" class="header_middle">[% l('Search Filters') %]</div>
+                <table cellpadding='10' cellspacing='0' border='0'>
+                [%
+                    in_row = 0;
+                    FOR adv_chunk IN search.adv_config;
+                        NEXT IF adv_chunk.adv_hide;
+                        IF in_row == 0;
+                            in_row = 1; %]
+                            <tr>
+                [%
+                        END; %]
+                            <td valign='top'>
+                                <strong>[% adv_chunk.adv_label %]</strong><br />
+                [%
+                        IF adv_chunk.adv_special;
+                            SWITCH adv_chunk.adv_special;
+                                CASE "lib_selector";
+                                    PROCESS "opac/parts/org_selector.tt2";
+                                        INCLUDE build_org_selector show_loc_groups=1; %]
+                                            <div style="position:relative;top:7px;">
+                                                <input type='checkbox' name="modifier"
+                                                    value="available"[% CGI.param('modifier').grep('available').size ? ' checked="checked"' : '' %]
+                                                    id='opac.result.limit2avail'/>
+                                                <label style="position:relative;top:-2px;"
+                                                    for='opac.result.limit2avail'>
+                                                    [% l("Limit to Available") %]</label>
+                                            </div>
+                [%
+                                CASE "pub_year"; %]
+                                            <select name='pubdate' onchange='
+                                                if(this.selectedIndex == 3)
+                                                    unHideMe($("adv_global_pub_date_2_span"));
+                                                else
+                                                    hideMe($("adv_global_pub_date_2_span"));'>
+                                                    [%  FOR opt IN [
+                                                            {"code" => "is", "label" => l("Is")},
+                                                            {"code" => "before", "label" => l("Before")},
+                                                            {"code" => "after", "label" => l("After")},
+                                                            {"code" => "between", "label" => l("Between")} ] %]
+                                                        <option value="[% opt.code %]"[% CGI.param('pubdate') == opt.code ? ' selected="selected"' : '' %]>[% opt.label | html %]</option>
+                                                    [%  END %]
+                                            </select>    
+                                            <div style='margin-top:5px;'>
+                                                <input name='date1' type='text' size='4' maxlength='4' value="[% CGI.param('date1') | html %]"/>
+                                                <span id='adv_global_pub_date_2_span' class='[% CGI.param("pubdate") == "between" ? "" : "hide_me" %]'>
+                                                   [% l("and") %] <input name='date2' type='text' size='4' maxlength='4' value="[% CGI.param('date2') | html %]" />
+                                                </span>
+                                            </div>
+                [%
+                                CASE "sort_selector";
+                                    INCLUDE "opac/parts/filtersort.tt2"
+                                        value=CGI.param('sort') class='results_header_sel';
+                            END;
+                        ELSIF adv_chunk.adv_attr;
+                            INCLUDE "opac/parts/coded_value_selector.tt2"
+                                attr=adv_chunk.adv_attr multiple="multiple" size="4";
+                        ELSIF adv_chunk.adv_filter;
+                            INCLUDE "opac/parts/filter_group_selector.tt2"
+                                filter_group=adv_chunk.adv_filter multiple="multiple" size="4";
+                        END; %]
+                            </td>
+                [%
+                        IF adv_chunk.adv_break;
+                            in_row = 0; %]
+                            </tr>
+                [%
+                        END;
+                    END; %]
+                </table>
+            </td>
+        </tr>
+    </table>
     <span>
         <input id='search-submit-go' type="submit" value="[% l('Search') %]" alt="[% l('Search') %]" class="opac-button"
                 onclick='setTimeout(function(){$("search-submit-spinner").className=""; $("search-submit-go").className="hidden"}, 2000)'/>
-            <img id='search-submit-spinner' src='/opac/images/progressbar_green.gif' style='height:16px;width:16px;' class='hidden' alt=''/>
-          </span>
+        <img id='search-submit-spinner' src='/opac/images/progressbar_green.gif' style='height:16px;width:16px;' class='hidden' alt=''/>
+    </span>
     <a href="[% mkurl(ctx.opac_root _ '/advanced', {$loc_name => loc_value, pane => 'boolean'}, 1) %]"
         class="pointer opac-button">[% l('Clear Form') %]</a>
 </form>