mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-11-15 21:56:12 +08:00
98 lines
2.5 KiB
Ruby
98 lines
2.5 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module LeftMenuBarHelper
|
|
def left_menu_elements
|
|
[
|
|
{
|
|
url: dashboard_path,
|
|
name: t('left_menu_bar.dashboard'),
|
|
icon: 'sn-icon-dashboard',
|
|
active: dashboard_are_selected?,
|
|
submenu: []
|
|
}, {
|
|
url: projects_path,
|
|
name: t('left_menu_bar.projects'),
|
|
icon: 'sn-icon-projects',
|
|
active: projects_are_selected?,
|
|
submenu: []
|
|
}, {
|
|
url: repositories_path,
|
|
name: t('left_menu_bar.repositories'),
|
|
icon: 'sn-icon-inventory',
|
|
active: repositories_are_selected? || storage_locations_are_selected?,
|
|
submenu: [{
|
|
url: repositories_path,
|
|
name: t('left_menu_bar.items'),
|
|
active: repositories_are_selected?
|
|
}, {
|
|
url: storage_locations_path,
|
|
name: t('left_menu_bar.locations'),
|
|
active: storage_locations_are_selected?
|
|
}]
|
|
}, {
|
|
url: "#",
|
|
name: t('left_menu_bar.templates'),
|
|
icon: 'sn-icon-protocols-templates',
|
|
active: protocols_are_selected? || label_templates_are_selected?,
|
|
submenu: [{
|
|
url: protocols_path,
|
|
name: t('left_menu_bar.protocol'),
|
|
active: protocols_are_selected?
|
|
}, {
|
|
url: label_templates_path,
|
|
name: t('left_menu_bar.label'),
|
|
active: label_templates_are_selected?
|
|
}]
|
|
}, {
|
|
url: reports_path,
|
|
name: t('left_menu_bar.reports'),
|
|
icon: 'sn-icon-reports',
|
|
active: reports_are_selected?,
|
|
submenu: []
|
|
}, {
|
|
url: global_activities_path,
|
|
name: t('left_menu_bar.activities'),
|
|
icon: 'sn-icon-activities',
|
|
active: activities_are_selected?,
|
|
submenu: []
|
|
}
|
|
]
|
|
end
|
|
|
|
def dashboard_are_selected?
|
|
controller_name == 'dashboards'
|
|
end
|
|
|
|
def projects_are_selected?
|
|
controller_name.in? %w(projects experiments my_modules)
|
|
end
|
|
|
|
def repositories_are_selected?
|
|
controller_name == 'repositories'
|
|
end
|
|
|
|
def storage_locations_are_selected?
|
|
controller_name == 'storage_locations'
|
|
end
|
|
|
|
def protocols_are_selected?
|
|
controller_name == 'protocols'
|
|
end
|
|
|
|
def label_templates_are_selected?
|
|
controller_name == 'label_templates'
|
|
end
|
|
|
|
def reports_are_selected?
|
|
# TODO
|
|
controller_name == 'reports'
|
|
end
|
|
|
|
def settings_are_selected?
|
|
controller_name.in? %(registrations preferences addons teams connected_accounts webhooks)
|
|
end
|
|
|
|
def activities_are_selected?
|
|
controller_name == 'global_activities'
|
|
end
|
|
end
|