Class: Jav::AlertComponent

Inherits:
ViewComponent::Base
  • Object
show all
Includes:
ApplicationHelper
Defined in:
app/components/jav/alert_component.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ApplicationHelper

#a_button, #a_link, #button_classes, #decode_filter_params, #empty_state, #encode_filter_params, #frame_id, #get_model_class, #input_classes, #mount_path, #render_license_warning, #render_license_warnings, #root_path_without_url, #svg, #white_panel_classes

Constructor Details

#initialize(type, message) ⇒ AlertComponent

Returns a new instance of AlertComponent.



8
9
10
11
12
# File 'app/components/jav/alert_component.rb', line 8

def initialize(type, message)
  super
  @type = type
  @message = message
end

Instance Attribute Details

#messageObject (readonly)

Returns the value of attribute message.



6
7
8
# File 'app/components/jav/alert_component.rb', line 6

def message
  @message
end

#typeObject (readonly)

Returns the value of attribute type.



6
7
8
# File 'app/components/jav/alert_component.rb', line 6

def type
  @type
end

Instance Method Details

#classesObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'app/components/jav/alert_component.rb', line 23

def classes
  return 'hidden' if is_empty?

  result = 'max-w-lg w-full shadow-lg px-4 py-3 rounded-sm relative border text-white pointer-events-auto'

  result += if is_error?
              ' bg-red-400 border-red-600'
            elsif is_success?
              ' bg-green-500 border-green-600'
            elsif is_warning?
              ' bg-orange-400 border-orange-600'
            elsif is_info?
              ' bg-blue-400 border-blue-600'
            end

  result
end

#iconObject



14
15
16
17
18
19
20
21
# File 'app/components/jav/alert_component.rb', line 14

def icon
  return 'heroicons/solid/x-circle' if is_error?
  return 'heroicons/solid/exclamation' if is_warning?
  return 'heroicons/solid/exclamation-circle' if is_info?
  return 'heroicons/solid/check-circle' if is_success?

  'check-circle'
end

#is_empty?Boolean

Returns:

  • (Boolean)


57
58
59
# File 'app/components/jav/alert_component.rb', line 57

def is_empty?
  message.nil?
end

#is_error?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'app/components/jav/alert_component.rb', line 41

def is_error?
  type.to_sym == :error || type.to_sym == :alert
end

#is_info?Boolean

Returns:

  • (Boolean)


49
50
51
# File 'app/components/jav/alert_component.rb', line 49

def is_info?
  type.to_sym == :notice || type.to_sym == :info
end

#is_success?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'app/components/jav/alert_component.rb', line 45

def is_success?
  type.to_sym == :success
end

#is_warning?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'app/components/jav/alert_component.rb', line 53

def is_warning?
  type.to_sym == :warning
end