Sha256: 52497390a5be21ff2a8ae7bb6b0e4ef58a46f4d72d3affced75c555b9f7b2e52
Contents?: true
Size: 1.44 KB
Versions: 3
Compression:
Stored size: 1.44 KB
Contents
# Filter für Datumsbereiche mit von- und bis-Datum class MultiSolr::SolrFilterDateRange < MultiSolr::SolrFilterRange # Erzeugen des SolR-Query-Strings def build_solr_query value from, to = extract_from_to_in_ISO8601 value return nil if from.nil? && to.nil? "#{@field_name}:[#{from || '*'} TO #{to || '*'}]" end # Generieren der 2 Input-Felder mit der Option :as => :date_picker # Dadurch können diesem Felder das jQuery-Datepicker-UI nutzen # Params: siehe MultiSolr::SolrFilterSimple#render_for_semantic_form # returns: HTML-Code mit 2 Input-Feldern def render_for_semantic_form sform, value, context=nil, form_input_options={} set_label form_input_options label = form_input_options[:label] form_input_options.merge! :as => :date_picker from, to = extract_from_to value date_range = Struct.new("#{@name}_from".to_sym, "#{@name}_to".to_sym).new from,to sform.semantic_fields_for "filter_#{@name}", date_range do |filter_form| form_input_options[:label] = "#{label} ab" sform.template.concat filter_form.input("#{@name}_from", form_input_options) form_input_options[:label] = "#{label} bis" sform.template.concat filter_form.input("#{@name}_to", form_input_options) end end def extract_from_to_in_ISO8601 value from, to = extract_from_to value d_from = from.blank? ? nil : "#{from}T00:00:00Z" d_to = to.blank? ? nil : "#{to}T23:59:59Z" [d_from, d_to] end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
multi-solr-01.07.02 | lib/multi_solr/solr_filter_date_range.rb |
multi-solr-01.07.01 | lib/multi_solr/solr_filter_date_range.rb |
multi-solr-01.07.00 | lib/multi_solr/solr_filter_date_range.rb |