diff options
Diffstat (limited to 'template/en/custom/search/boolean-charts.html.tmpl')
-rw-r--r-- | template/en/custom/search/boolean-charts.html.tmpl | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/template/en/custom/search/boolean-charts.html.tmpl b/template/en/custom/search/boolean-charts.html.tmpl new file mode 100644 index 000000000..b4225f950 --- /dev/null +++ b/template/en/custom/search/boolean-charts.html.tmpl @@ -0,0 +1,205 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% types = [ + "noop", + "equals", + "notequals", + "anyexact", + "substring", + "casesubstring", + "notsubstring", + "anywordssubstr", + "allwordssubstr", + "nowordssubstr", + "regexp", + "notregexp", + "lessthan", + "lessthaneq", + "greaterthan", + "greaterthaneq", + "anywords", + "allwords", + "nowords", + "changedbefore", + "changedafter", + "changedfrom", + "changedto", + "changedby", + "matches", + "notmatches", + "isempty", + "isnotempty", +] %] + +<div class="panel panel-default"> + <div class="panel-heading" id="CustomSearchHeading"> + <h4 class="panel-title"> + <a role="button" data-toggle="collapse" href="#CustomSearch" aria-expanded="true" aria-controls="CustomSearch">Custom Search + <small class="section_help">Didn't find what + you're looking for above? This area allows for ANDs, ORs, + and other more complex searches. + </small></a> + </h4> + </div> + <div id="CustomSearch" class="panel-collapse collapse" role="tabpanel" aria-labelledby="CustomSearchHeading"> + <div class="panel-body"> + + + [% SET indent_level = 0 %] + [% SET cond_num = 0 %] + [% FOREACH condition = default.custom_search %] + [% SET cond_num = loop.count - 1 %] + [% PROCESS one_condition with_buttons = 0 %] + [% END %] + [% PROCESS one_condition + with_buttons = 1 + condition = { f => 'noop' } + cond_num = cond_num + 1 %] + <script type="text/javascript"> + TUI_alternates['custom_search_query'] = '►'; + TUI_hide_default('custom_search_query'); + TUI_alternates['custom_search_advanced'] = "Show Advanced Features"; + TUI_hide_default('custom_search_advanced'); + </script> + <script type="text/javascript" src="[% 'js/custom-search.js' FILTER mtime %]"></script> + <script type="text/javascript"> + redirect_html4_browsers(); + [%# These are alternative labels for the AND and OR options in and_all_select %] + var cs_and_label = 'Match ALL of the following:'; + var cs_or_label = 'Match ANY of the following:'; + cs_reconfigure('custom_search_last_row'); + </script> + <script type="text/javascript" src="[% 'js/history.js/native.history.js' FILTER mtime %]"></script> + </div> + + +[% BLOCK one_condition %] + [%# Skip any conditions that don't have a field defined. %] + [% RETURN IF !condition.f %] + + [% IF !top_level_any_shown %] + [% INCLUDE any_all_select + name = "j_top" selected = default.j_top.0 + with_advanced_link = 1 %] + [% top_level_any_shown = 1 %] + [% END %] + + [% IF condition.f == "CP" %] + [% indent_level = indent_level - 1 %] + [% END %] + + <div class="custom_search_condition" + [% ' style="margin-left: ' _ (indent_level * 2) _ 'em"' IF indent_level %] + [% ' id="custom_search_last_row"' IF with_buttons %]> + + [% IF previous_condition.f == "OP" %] + [% INCLUDE any_all_select + name = "j" _ (cond_num - 1) + selected = previous_condition.j %] + [% END %] + + [% IF with_buttons %] + <button id="op_button" type="button" class="custom_search_advanced btn btn-default" + title="Start a new group of criteria, including this row" + onclick="custom_search_open_paren()">(</button> + [% END %] + + [% UNLESS condition.f == "CP" %] + [%# This only gets hidden via custom_search_advanced if it isn't set. %] + <span id="custom_search_not_container_[% cond_num FILTER html %]" + class="custom_search_not_container + [%- ' custom_search_advanced' UNLESS condition.n %]" + title="Search for the opposite of the criteria here"> + <input type="checkbox" id="n[% cond_num FILTER html %]" + class="custom_search_form_field" + name="n[% cond_num FILTER html %]" value="1" + onclick="custom_search_not_changed([% cond_num FILTER js %])" + [% ' checked="checked"' IF condition.n %]> + <label for="n[% cond_num FILTER html %]">Not</label> + </span> + [% END %] + + [% IF condition.f == "OP" %] + <input type="hidden" name="f[% cond_num FILTER html %]" + id="f[% cond_num FILTER html %]" value="OP"> + ( + [% indent_level = indent_level + 1 %] + [% ELSIF condition.f == "CP" %] + <input type="hidden" name="f[% cond_num FILTER html %]" + id="f[% cond_num FILTER html %]" value="CP"> + ) + [% ELSE %] + <select name="f[% cond_num FILTER html %]" title="Field" + id="f[% cond_num FILTER html %]" + onchange="fix_query_string(this)" + class="custom_search_form_field form-control"> + [%# Turn the array in to a hash with the name as the key %] + [% + field_hash = {}; + FOREACH field IN fields; + field_hash.${field.name} = field; + END; + %] + [% FOREACH field_name = field_hash.keys.sort_by_field_name(field_descs) %] + [% field = field_hash.$field_name %] + <option value="[% field.name FILTER html %]" + [%~ ' selected="selected"' IF field.name == condition.f %]> + [% field_descs.${field.name} || field.description FILTER html %] + </option> + [% END %] + </select> + + [% INCLUDE "search/type-select.html.tmpl" + name = "o${cond_num}", class = "custom_search_form_field" + types = types, selected = condition.o %] + + <input name="v[% cond_num FILTER html %]" title="Value" + class="custom_search_form_field" + onchange="fix_query_string(this)" + value="[% condition.v FILTER html %]"> + [% END %] + + [% IF with_buttons %] + <button class="custom_search_add_button btn btn-default" type="button" + id="add_button" title="Add a new row" + onclick="custom_search_new_row()"><i class="fa fa-plus" aria-hidden="true"></i></button> + <span id="cp_container" [% ' class="bz_default_hidden"' IF !indent_level %]> + <button id="cp_button" type="button" class="btn btn-default" + title="End this group of criteria" + onclick="custom_search_close_paren()">)</button> + </span> + [% END %] + </div> + + [% previous_condition = condition %] +[% END %] + +[% BLOCK any_all_select %] + <div class="any_all_select"> + <select name="[% name FILTER html %]" id="[% name FILTER html %]" class="form-control" + onchange="fix_query_string(this)"> + <option value="AND">Match ALL of the following separately:</option> + <option value="OR" [% ' selected="selected"' IF selected == "OR" %]> + Match ANY of the following separately:</option> + <option value="AND_G" [% ' selected' IF selected == "AND_G" %]> + Match ALL of the following against the same field:</option> + </select> + [% IF with_advanced_link %] + <a id="custom_search_advanced_controller" + href="javascript:TUI_toggle_class('custom_search_advanced')"> + Hide Advanced Features + </a> + [% END %] + </div> +[% END %] + + +</div> +</div> +</div>
\ No newline at end of file |