Mercurial > hg > soundsoftware-site
view .svn/pristine/79/79c8a939d3701e3feac652838cc1b0649abfd617.svn-base @ 1423:40e82f170353 biblio_alt_search_auth
small adjustments to text box size.
author | luisf <luis.figueira@eecs.qmul.ac.uk> |
---|---|
date | Wed, 02 Oct 2013 16:47:03 +0100 |
parents | cbb26bc654de |
children |
line wrap: on
line source
<script type="text/javascript"> //<![CDATA[ function add_filter() { select = $('add_filter_select'); field = select.value Element.show('tr_' + field); check_box = $('cb_' + field); check_box.checked = true; toggle_filter(field); select.selectedIndex = 0; for (i=0; i<select.options.length; i++) { if (select.options[i].value == field) { select.options[i].disabled = true; } } } function toggle_filter(field) { check_box = $('cb_' + field); if (check_box.checked) { Element.show("operators_" + field); Form.Element.enable("operators_" + field); toggle_operator(field); } else { Element.hide("operators_" + field); Form.Element.disable("operators_" + field); enableValues(field, []); } } function enableValues(field, indexes) { var f = $$(".values_" + field); for(var i=0;i<f.length;i++) { if (indexes.include(i)) { Form.Element.enable(f[i]); f[i].up('span').show(); } else { f[i].value = ''; Form.Element.disable(f[i]); f[i].up('span').hide(); } } if (indexes.length > 0) { Element.show("div_values_" + field); } else { Element.hide("div_values_" + field); } } function toggle_operator(field) { operator = $("operators_" + field); switch (operator.value) { case "!*": case "*": case "t": case "w": case "o": case "c": enableValues(field, []); break; case "><": enableValues(field, [0,1]); break; case "<t+": case ">t+": case "t+": case ">t-": case "<t-": case "t-": enableValues(field, [2]); break; default: enableValues(field, [0]); break; } } function toggle_multi_select(el) { var select = $(el); if (select.multiple == true) { select.multiple = false; } else { select.multiple = true; } } function submit_query_form(id) { selectAllOptions("selected_columns"); $(id).submit(); } function apply_filters_observer() { $$("#query_form input[type=text]").invoke("observe", "keypress", function(e){ if(e.keyCode == Event.KEY_RETURN) { submit_query_form("query_form"); } }); } Event.observe(document,"dom:loaded", apply_filters_observer); //]]> </script> <table width="100%"> <tr> <td> <table> <% query.available_filters.sort{|a,b| a[1][:order]<=>b[1][:order]}.each do |filter| %> <% field = filter[0] options = filter[1] %> <tr <%= 'style="display:none;"' unless query.has_filter?(field) %> id="tr_<%= field %>" class="filter"> <td class="field"> <%= check_box_tag 'f[]', field, query.has_filter?(field), :onclick => "toggle_filter('#{field}');", :id => "cb_#{field}" %> <label for="cb_<%= field %>"><%= filter[1][:name] || l(("field_"+field.to_s.gsub(/\_id$/, "")).to_sym) %></label> </td> <td class="operator"> <%= label_tag "op_#{field}", l(:description_filter), :class => "hidden-for-sighted" %> <%= select_tag "op[#{field}]", options_for_select(operators_for_select(options[:type]), query.operator_for(field)), :id => "operators_#{field}", :onchange => "toggle_operator('#{field}');" %> </td> <td class="values"> <div id="div_values_<%= field %>" style="display:none;"> <% case options[:type] when :list, :list_optional, :list_status, :list_subprojects %> <span class="span_values_<%= field %>"> <%= select_tag "v[#{field}][]", options_for_select(options[:values], query.values_for(field)), :class => "values_#{field}", :id => "values_#{field}_1", :multiple => (query.values_for(field) && query.values_for(field).length > 1) %> <%= link_to_function image_tag('bullet_toggle_plus.png'), "toggle_multi_select('values_#{field}_1');" %> </span> <% when :date, :date_past %> <span class="span_values_<%= field %>"><%= text_field_tag "v[#{field}][]", query.value_for(field), :size => 10, :class => "values_#{field}", :id => "values_#{field}_1" %> <%= calendar_for "values_#{field}_1" %></span> <span class="span_values_<%= field %>"><%= text_field_tag "v[#{field}][]", query.value_for(field, 1), :size => 10, :class => "values_#{field}", :id => "values_#{field}_2" %> <%= calendar_for "values_#{field}_2" %></span> <span class="span_values_<%= field %>"><%= text_field_tag "v[#{field}][]", query.value_for(field), :size => 3, :class => "values_#{field}" %> <%= l(:label_day_plural) %></span> <% when :string, :text %> <span class="span_values_<%= field %>"><%= text_field_tag "v[#{field}][]", query.value_for(field), :class => "values_#{field}", :id => "values_#{field}", :size => 30 %></span> <% when :integer, :float %> <span class="span_values_<%= field %>"><%= text_field_tag "v[#{field}][]", query.value_for(field), :class => "values_#{field}", :id => "values_#{field}_1", :size => 6 %></span> <span class="span_values_<%= field %>"><%= text_field_tag "v[#{field}][]", query.value_for(field, 1), :class => "values_#{field}", :id => "values_#{field}_2", :size => 6 %></span> <% end %> </div> <script type="text/javascript">toggle_filter('<%= field %>');</script> </td> </tr> <% end %> </table> </td> <td class="add-filter"> <%= label_tag('add_filter_select', l(:label_filter_add)) %> <%= select_tag 'add_filter_select', options_for_select([["",""]] + query.available_filters.sort{|a,b| a[1][:order]<=>b[1][:order]}.collect{|field| [ field[1][:name] || l(("field_"+field[0].to_s.gsub(/_id$/, "")).to_sym), field[0]] unless query.has_filter?(field[0])}.compact), :onchange => "add_filter();", :name => nil %> </td> </tr> </table> <%= hidden_field_tag 'f[]', '' %>