Class: Dedalus::PatternLibrary::LibrarySectionTab

Inherits:
Molecule show all
Defined in:
lib/dedalus/pattern_library/molecules/library_section_tab.rb

Instance Attribute Summary collapse

Attributes inherited from Element

#height_percent, #margin, #padding, #position, #width, #width_percent

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Element

#big_font, #draw_bounding_box, #font, #huge_font, #initialize, #view, #window

Constructor Details

This class inherits a constructor from Dedalus::Element

Instance Attribute Details

#descriptionObject

Returns the value of attribute description.



4
5
6
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 4

def description
  @description
end

#highlightObject

Returns the value of attribute highlight.



4
5
6
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 4

def highlight
  @highlight
end

#iconObject

Returns the value of attribute icon.



4
5
6
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 4

def icon
  @icon
end

#nameObject

Returns the value of attribute name.



4
5
6
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 4

def name
  @name
end

#scaleObject

Returns the value of attribute scale.



4
5
6
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 4

def scale
  @scale
end

#section_colorObject

Returns the value of attribute section_color.



4
5
6
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 4

def section_color
  @section_color
end

Class Method Details

.descriptionObject



47
48
49
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 47

def self.description
  "navigational tab"
end

.example_dataObject



51
52
53
54
55
56
57
58
59
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 51

def self.example_data
  {
    icon: :house,
    name: "Welcome",
    description: "Hello world (links to Welcome)",
    highlight: false,
    section_color: 'gray'
  }
end

Instance Method Details

#background_colorObject



18
19
20
21
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 18

def background_color
  bg = Palette.decode_color(section_color)
  self.highlight ? bg.lighten : bg
end

#clickObject



23
24
25
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 23

def click
  view.route_to(name)
end

#description_elementObject



43
44
45
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 43

def description_element
  Elements::Paragraph.new(text: description)
end

#heightObject



31
32
33
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 31

def height
  @height ||= 80
end

#hoverObject



13
14
15
16
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 13

def hover
  p [ :hovering_on, section: name ]
  @scale = 0.2
end

#icon_elementObject



35
36
37
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 35

def icon_element
  Elements::Icon.for(icon, padding: 16)
end

#showObject



6
7
8
9
10
11
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 6

def show
  [[
    icon_element, [ title_element,
                    description_element ]
  ]]
end

#title_elementObject



39
40
41
# File 'lib/dedalus/pattern_library/molecules/library_section_tab.rb', line 39

def title_element
  LargeText.new(text: name)
end