Class: FlexiAdmin::Components::Resources::SwitchViewComponent

Inherits:
BaseComponent
  • Object
show all
Includes:
Helpers::ResourceHelper
Defined in:
lib/flexi_admin/components/resources/switch_view_component.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Helpers::ResourceHelper

#autocomplete_path, #bulk_action_path, #datalist_path, #edit_resource_path, #paginate, #resource__path, #resource_input_name, #resource_path, #resources_path, #scope, #scope_plural, #scope_singular

Constructor Details

#initialize(context) ⇒ SwitchViewComponent

Returns a new instance of SwitchViewComponent.



10
11
12
13
# File 'lib/flexi_admin/components/resources/switch_view_component.rb', line 10

def initialize(context)
  @context = context
  @views = context.views.presence || %w[list]
end

Instance Attribute Details

#contextObject (readonly)

Returns the value of attribute context.



8
9
10
# File 'lib/flexi_admin/components/resources/switch_view_component.rb', line 8

def context
  @context
end

#viewsObject (readonly)

Returns the value of attribute views.



8
9
10
# File 'lib/flexi_admin/components/resources/switch_view_component.rb', line 8

def views
  @views
end

Instance Method Details

#grid_classObject



36
37
38
39
40
41
42
43
# File 'lib/flexi_admin/components/resources/switch_view_component.rb', line 36

def grid_class
  if context.params.current_view == "grid" ||
     (context.views.first == "grid" && context.params.current_view.blank?)
    "active"
  else
    "bg-white text-dark"
  end
end

#grid_view_available?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/flexi_admin/components/resources/switch_view_component.rb', line 23

def grid_view_available?
  views.include?("grid")
end

#list_classObject



27
28
29
30
31
32
33
34
# File 'lib/flexi_admin/components/resources/switch_view_component.rb', line 27

def list_class
  if context.params.current_view == "list" ||
     (context.views.first == "list" && context.params.current_view.blank?)
    "active"
  else
    "bg-white text-dark"
  end
end

#list_view_available?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/flexi_admin/components/resources/switch_view_component.rb', line 19

def list_view_available?
  views.include?("list")
end

#render?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/flexi_admin/components/resources/switch_view_component.rb', line 15

def render?
  views.size > 1
end