Class: Railsboot::ProgressCircularComponent

Inherits:
Component
  • Object
show all
Defined in:
app/components/railsboot/progress_circular_component.rb

Instance Method Summary collapse

Constructor Details

#initialize(value: 0, min: 0, max: 100, label: "", aria_label: nil, color: DEFAULT_COLOR, **html_attributes) ⇒ ProgressCircularComponent

Returns a new instance of ProgressCircularComponent.



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'app/components/railsboot/progress_circular_component.rb', line 2

def initialize(value: 0, min: 0, max: 100, label: "", aria_label: nil, color: DEFAULT_COLOR, **html_attributes)
  @value = value
  @min = min
  @max = max
  @label = label
  @aria_label = aria_label
  @color = fetch_or_raise(color, COLORS)
  @html_attributes = html_attributes

  @html_attributes[:tag] = "div"
  @html_attributes[:class] = class_names(
    {"text-#{@color}" => @color.present?},
    html_attributes[:class]
  )
end

Instance Method Details

#before_renderObject (protected)



24
25
26
27
28
29
30
# File 'app/components/railsboot/progress_circular_component.rb', line 24

def before_render
  @html_attributes["role"] = "progressbar"
  @html_attributes["aria-valuenow"] = @value
  @html_attributes["aria-valuemin"] = @min
  @html_attributes["aria-valuemax"] = @max
  @html_attributes["aria-label"] = @aria_label if @aria_label.present?
end

#stroke_dasharrayObject



18
19
20
# File 'app/components/railsboot/progress_circular_component.rb', line 18

def stroke_dasharray
  ((51.0 / 50) * @value).round(2)
end