Class: Gitter::FacetData

Inherits:
Object
  • Object
show all
Includes:
Utils
Defined in:
lib/gitter/facet.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Utils

#url_for

Constructor Details

#initialize(facet, raw_value, label, count) ⇒ FacetData

Returns a new instance of FacetData.



12
13
14
# File 'lib/gitter/facet.rb', line 12

def initialize facet, raw_value, label, count 
  @facet, @raw_value, @label, @count = facet, raw_value, label, count 
end

Instance Attribute Details

#countObject (readonly)

Returns the value of attribute count.



8
9
10
# File 'lib/gitter/facet.rb', line 8

def count
  @count
end

#facetObject (readonly)

Returns the value of attribute facet.



8
9
10
# File 'lib/gitter/facet.rb', line 8

def facet
  @facet
end

#raw_valueObject (readonly)

Returns the value of attribute raw_value.



8
9
10
# File 'lib/gitter/facet.rb', line 8

def raw_value
  @raw_value
end

Instance Method Details

#labelObject



28
29
30
31
# File 'lib/gitter/facet.rb', line 28

def label
  #@label || grid.translate(:facets, raw_value) || '-'
  @label || raw_value || '-'
end


33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/gitter/facet.rb', line 33

def link
  @link ||= begin
    p = grid.params.dup 
    p.delete name
    p[name] = raw_value if raw_value.present?
    p = grid.scoped_params p
    p[:page] = 1

    value_class = selected? ? 'facet_value_selected' : 'selected' 
    value_tag = h. :span, label, class: value_class
    value_tag = h.link_to value_tag, url_for(p)

    if selected? or not facet.selected?
      count_tag = h. :span, "(#{count})", class: 'facet_count'
      #count_tag = h.link_to count_tag,  url_for(p.merge(show: true))
    else
      count_tag = ''
    end

    h. :span, (value_tag + count_tag), {class: 'facet_entry'}, false
  end
end

#paramsObject



20
21
22
# File 'lib/gitter/facet.rb', line 20

def params
  @params ||= grid.scoped_params name => raw_value
end

#selected?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/gitter/facet.rb', line 24

def selected?
  @selected ||= facet.selected_value == raw_value.to_s
end

#to_sObject



56
57
58
# File 'lib/gitter/facet.rb', line 56

def to_s
  "#{name}:#{value}(#{raw_value})=#{count}"
end

#valueObject



16
17
18
# File 'lib/gitter/facet.rb', line 16

def value
  @value ||= facet.format raw_value
end