Module: ActionAdmin::MarkupHelper

Defined in:
app/helpers/action_admin/markup_helper.rb

Instance Method Summary collapse

Instance Method Details



87
88
89
90
91
92
93
94
95
96
97
98
# File 'app/helpers/action_admin/markup_helper.rb', line 87

def admin_action_links(action=nil)
  name  = action || action_name
  links = controller.action_header.action_links(name, self).map do |link|
    opts    = Hash(link[:html]).merge(method: link[:method])
    classes = "button small hollow #{opts[:class]}".strip
    label   = admin_icon(link[:icon], text: link[:label])

    link_to label, link[:url], opts.merge(class: classes)
  end

  links.join(' ').html_safe
end

#admin_icon(name, options = {}) ⇒ Object



3
4
5
6
7
8
9
10
# File 'app/helpers/action_admin/markup_helper.rb', line 3

def admin_icon(name, options={})
  opts = options.except(:text, :revert).merge(class: "mdi mdi-#{name}")
  icon =  :i, nil, opts if name.present?
  text = options[:text]
  data = options[:revert].present? ? [text, icon] : [icon, text]

  data.join(' ').html_safe
end

#admin_pagination(records, options = {}) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'app/helpers/action_admin/markup_helper.rb', line 12

def admin_pagination(records, options={})
  options = options.merge({
    previous_class: 'pagination-previous',
    next_class:     'pagination-next',
    active_class:   'current'
  })

  smart_pagination_for(records, options)
end

#admin_primary_menuObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'app/helpers/action_admin/markup_helper.rb', line 30

def admin_primary_menu
  options = {
    menu_class:           'vertical menu icons icon-left accordion-menu',
    menu_html:            { 'data-accordion-menu': '', 'data-submenu-toggle': true },
    separator_class:      'is-separator',
    submenu_parent_class: 'has-children',
    submenu_class:        'vertical menu nested',
    active_class:         'is-current',
    active_submenu_class: 'is-current',
    icon_prefix:          'mdi mdi-'
  }

  smart_navigation_for ActionAdmin.config.menus.primary, options
end

#admin_secondary_menuObject



45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'app/helpers/action_admin/markup_helper.rb', line 45

def admin_secondary_menu
  options = {
    menu_class:           'vertical menu secondary icons icon-right',
    separator_class:      'is-separator',
    submenu_parent_class: 'has-children',
    submenu_class:        'vertical menu nested',
    active_class:         'is-current',
    active_submenu_class: 'is-current',
    icon_prefix:          'mdi mdi-',
    icon_position:        'right'
  }

  smart_navigation_for ActionAdmin.config.menus.secondary, options
end


100
101
102
103
104
105
106
107
108
109
110
111
# File 'app/helpers/action_admin/markup_helper.rb', line 100

def admin_table_action_links(record, actions=nil)
  options = {
    show:    { label: admin_icon('eye'), title: 'View', class: 'success' },
    edit:    { label: admin_icon('pencil'), title: 'Edit' },
    destroy: { label: admin_icon('delete'), title: 'Delete', class: 'alert' }
  }

  options = options.select { |k, _v| k.in? actions } if actions.present?
  options = options.merge(html: { class: 'button hollow' })

  record_links_to record, options
end

#admin_table_pagination(records) ⇒ Object



22
23
24
25
26
27
28
# File 'app/helpers/action_admin/markup_helper.rb', line 22

def admin_table_pagination(records)
  info  =  :div, smart_pagination_info_for(records), class: 'shrink cell'
  links = admin_pagination(records, wrapper_class: 'pagination margin-0')
  links =  :div, links, class: 'auto cell text-right'

   :div, info + links, class: 'grid-x'
end

#admin_topbar_menu(position) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'app/helpers/action_admin/markup_helper.rb', line 60

def admin_topbar_menu(position)
  items = {
    left: {
      toggle: { icon: 'menu', html: { 'data-toggle': 'sidebar' } }
    },
    right: {
      website: { url: :root_url, icon: 'web', html: { target: :_blank } }
    }
  }

  options = {
    menu_class:           'menu icons icon-left',
    separator_class:      'is-separator',
    submenu_parent_class: 'has-children',
    submenu_class:        'vertical menu nested',
    active_class:         'is-current',
    active_submenu_class: 'is-current',
    icon_prefix:          'mdi mdi-',
    icon_position:        'left'
  }

  custom = ActionAdmin.config.menus.send(:"topbar_#{position}")
  items  = items[position].merge(Hash(custom).symbolize_keys)

  smart_navigation_for items, options
end