diff options
| author | Zog | 2018-05-22 17:08:53 +0200 | 
|---|---|---|
| committer | Zog | 2018-05-22 17:08:53 +0200 | 
| commit | 61b389801214608fc65784eba71e50ea18baa95e (patch) | |
| tree | d05968a7ae7b958a40ba977c98417b9eff56b319 | |
| parent | dd33794e295d5978abb7ccbbf5ded6a40ab42a2f (diff) | |
| download | chouette-core-61b389801214608fc65784eba71e50ea18baa95e.tar.bz2 | |
Refs #7118; Fix collapsible menus7118-fix-menus
| -rw-r--r-- | app/helpers/menus_helper.rb | 38 | ||||
| -rw-r--r-- | app/views/layouts/navigation/_main_nav_left_content.html.slim | 116 | ||||
| -rw-r--r-- | app/views/layouts/navigation/_main_nav_left_content_stif.html.slim | 164 | ||||
| -rw-r--r-- | config/locales/layouts.en.yml | 1 | ||||
| -rw-r--r-- | config/locales/layouts.fr.yml | 1 | 
5 files changed, 144 insertions, 176 deletions
| diff --git a/app/helpers/menus_helper.rb b/app/helpers/menus_helper.rb new file mode 100644 index 000000000..e770fced3 --- /dev/null +++ b/app/helpers/menus_helper.rb @@ -0,0 +1,38 @@ +module MenusHelper +  def main_nav_menu_item label, &block +    @current_menu_item_count ||= 0 +    @current_menu_item_count += 1 +    content_tag :div, class: "menu-item panel" do +      out = "" +      out += content_tag(:div, class: "panel-heading") do +        content_tag :h4, class: "panel-title" do +          link_to label, "#menu-item-#{@current_menu_item_count}", data: {toggle: 'collapse', parent: '#menu-items'}, 'aria-expanded' => 'false' +        end +      end +      out += content_tag(:div, class: "panel-collapse collapse", id: "menu-item-#{@current_menu_item_count}") do +        content_tag :li, class: "list-group" do +          capture(&block) +        end +      end +      out.html_safe +    end +  end +end + +# .menu-item.panel +#   .panel-heading +#     h4.panel-title +#       = link_to '#miOne', data: {toggle: 'collapse', parent: '#menu-items'}, 'aria-expanded' => 'false' do +#         = t('layouts.navbar.current_offer.other') +# +#   #miOne.panel-collapse.collapse +#     .list-group +#       = link_to root_path, class: "list-group-item" do +#         span = t('layouts.navbar.dashboard') +#       = link_to workbench_output_path(workbench), class: 'list-group-item' do +#         span = t('layouts.navbar.workbench_outputs.organisation') +#       = link_to '#', class: 'list-group-item disabled' do +#         span = t('layouts.navbar.workbench_outputs.workgroup') +#       - if policy(workbench.workgroup).edit? +#         = link_to [:edit, workbench.workgroup], class: 'list-group-item' do +#           span = t('layouts.navbar.workbench_outputs.edit_workgroup') diff --git a/app/views/layouts/navigation/_main_nav_left_content.html.slim b/app/views/layouts/navigation/_main_nav_left_content.html.slim index 004ea9050..547c6fae7 100644 --- a/app/views/layouts/navigation/_main_nav_left_content.html.slim +++ b/app/views/layouts/navigation/_main_nav_left_content.html.slim @@ -2,84 +2,54 @@  - current_organisation.workbenches.each do |workbench|    #menu-items.panel-group      .menu-item.panel -      .panel-heading -        h4.panel-title -          = link_to '#miOne', data: {toggle: 'collapse', parent: '#menu-items'}, 'aria-expanded' => 'false' do -            = t('layouts.navbar.current_offer.other') - -      #miOne.panel-collapse.collapse -        .list-group -          = link_to root_path, class: "list-group-item" do -            span = t('layouts.navbar.dashboard') -          = link_to workbench_output_path(workbench), class: 'list-group-item' do -            span = t('layouts.navbar.workbench_outputs.organisation') -          = link_to '#', class: 'list-group-item disabled' do -            span = t('layouts.navbar.workbench_outputs.workgroup') -          - if policy(workbench.workgroup).edit? -            = link_to [:edit, workbench.workgroup], class: 'list-group-item' do -              span = t('layouts.navbar.workbench_outputs.edit_workgroup') +      = main_nav_menu_item 'layouts.navbar.current_offer.other'.t do +        = link_to root_path, class: "list-group-item" do +          span = 'layouts.navbar.dashboard'.t +        = link_to workbench_output_path(workbench), class: 'list-group-item' do +          span = 'layouts.navbar.workbench_outputs.organisation'.t +        = link_to '#', class: 'list-group-item disabled' do +          span = 'layouts.navbar.workbench_outputs.workgroup'.t +        - if policy(workbench.workgroup).edit? +          = link_to [:edit, workbench.workgroup], class: 'list-group-item' do +            span = 'layouts.navbar.workbench_outputs.edit_workgroup'.t      .menu-item.panel -      .panel-heading -        h4.panel-title -          = link_to '#miTwo', data: {toggle: 'collapse', parent: '#menu-items'}, 'aria-expanded' => 'false' do -            - t('activerecord.models.workbench.one').capitalize - -      #miTwo.panel-collapse.collapse -        .list-group -          = link_to workbench_path(workbench), class: "list-group-item" do -            span = t('activerecord.models.referential.other').capitalize -          = link_to workbench_imports_path(workbench), class: "list-group-item" do -            span = t('activerecord.models.import.other').capitalize -          = link_to workbench_exports_path(workbench), class: "list-group-item" do -            span = t('activerecord.models.export.other').capitalize -          = link_to workgroup_calendars_path(workbench.workgroup), class: 'list-group-item' do -            span = t('activerecord.models.calendar.other').capitalize -          = link_to workbench_compliance_check_sets_path(workbench), class: 'list-group-item' do -            span = t('activerecord.models.compliance_check_set.other').capitalize -          = link_to compliance_control_sets_path, class: 'list-group-item' do -            span = t('activerecord.models.compliance_control_set.other').capitalize -          - if policy(workbench).edit? -            = link_to [:edit, workbench], class: 'list-group-item' do -              span = t('workbenches.edit.link') +      = main_nav_menu_item 'activerecord.models.workbench.one'.t.capitalize do +        = link_to workbench_path(workbench), class: "list-group-item" do +          span = 'activerecord.models.referential.other'.t.capitalize +        = link_to workbench_imports_path(workbench), class: "list-group-item" do +          span = 'activerecord.models.import.other'.t.capitalize +        = link_to workbench_exports_path(workbench), class: "list-group-item" do +          span = 'activerecord.models.export.other'.t.capitalize +        = link_to workgroup_calendars_path(workbench.workgroup), class: 'list-group-item' do +          span = 'activerecord.models.calendar.other'.t.capitalize +        = link_to workbench_compliance_check_sets_path(workbench), class: 'list-group-item' do +          span = 'activerecord.models.compliance_check_set.other'.t.capitalize +        = link_to compliance_control_sets_path, class: 'list-group-item' do +          span = 'activerecord.models.compliance_control_set.other'.t.capitalize +        - if policy(workbench).edit? +          = link_to [:edit, workbench], class: 'list-group-item' do +            span = 'workbenches.edit.link'.t      .menu-item.panel -      .panel-heading -        h4.panel-title -          = link_to '#miFour', data: {toggle: 'collapse', parent: '#menu-items'}, 'aria-expanded' => 'false' do -            = t('layouts.navbar.line_referential') - -      #miFour.panel-collapse.collapse -        .list-group -          = link_to line_referential_lines_path(workbench.line_referential), class: "list-group-item" do -            span = Chouette::Line.t.capitalize -          = link_to line_referential_networks_path(workbench.line_referential), class: "list-group-item" do -            span = Chouette::Network.t.capitalize -          = link_to line_referential_companies_path(workbench.line_referential), class: "list-group-item" do -            span = Chouette::Company.t.capitalize +      = main_nav_menu_item 'layouts.navbar.line_referential'.t do +        = link_to line_referential_lines_path(workbench.line_referential), class: "list-group-item" do +          span = Chouette::Line.t.capitalize +        = link_to line_referential_networks_path(workbench.line_referential), class: "list-group-item" do +          span = Chouette::Network.t.capitalize +        = link_to line_referential_companies_path(workbench.line_referential), class: "list-group-item" do +          span = Chouette::Company.t.capitalize      .menu-item.panel -      .panel-heading -        h4.panel-title -          = link_to '#miFive', data: {toggle: 'collapse', parent: '#menu-items'}, 'aria-expanded' => 'false' do -            = t('layouts.navbar.stop_area_referential') - -      #miFive.panel-collapse.collapse -        .list-group -          = link_to stop_area_referential_stop_areas_path(workbench.stop_area_referential), class: "list-group-item" do -            span = Chouette::StopArea.t.capitalize +      = main_nav_menu_item 'layouts.navbar.stop_area_referential'.t do +        = link_to stop_area_referential_stop_areas_path(workbench.stop_area_referential), class: "list-group-item" do +          span = Chouette::StopArea.t.capitalize      .menu-item.panel -      .panel-heading -        h4.panel-title -          = link_to '#miSix', data: {toggle: 'collapse', parent: '#menu-items'}, 'aria-expanded' => 'false' do -            = t('layouts.navbar.configuration') - -      #miSix.panel-collapse.collapse -        .list-group -          - if policy(workbench).edit? -            = link_to [:edit, workbench], class: 'list-group-item' do -              span = t('layouts.navbar.workbench_configuration') -          - if policy(workbench.workgroup).edit? -            = link_to [:edit, workbench.workgroup], class: 'list-group-item' do -              span = t('layouts.navbar.workgroup_configuration') +      = main_nav_menu_item 'layouts.navbar.configuration'.t do +        - if policy(workbench).edit? +          = link_to [:edit, workbench], class: 'list-group-item' do +            span = 'layouts.navbar.workbench_configuration'.t +        - if policy(workbench.workgroup).edit? +          = link_to [:edit, workbench.workgroup], class: 'list-group-item' do +            span = 'layouts.navbar.workgroup_configuration'.t diff --git a/app/views/layouts/navigation/_main_nav_left_content_stif.html.slim b/app/views/layouts/navigation/_main_nav_left_content_stif.html.slim index 7bea0814e..950c23580 100644 --- a/app/views/layouts/navigation/_main_nav_left_content_stif.html.slim +++ b/app/views/layouts/navigation/_main_nav_left_content_stif.html.slim @@ -1,110 +1,68 @@  - current_organisation.workbenches.each do |workbench|    #menu-items.panel-group -    .menu-item.panel -      .panel-heading -        h4.panel-title -          = link_to '#miOne', data: {toggle: 'collapse', parent: '#menu-items'}, 'aria-expanded' => 'false' do -            = t('layouts.navbar.current_offer.other') +    = main_nav_menu_item 'layouts.navbar.current_offer.other'.t do +      = link_to root_path, class: "list-group-item" do +        span = t('layouts.navbar.dashboard') +      = link_to workbench_output_path(workbench), class: 'list-group-item' do +        span = t('layouts.navbar.workbench_outputs.organisation') +      = link_to '#', class: 'list-group-item disabled' do +        span = t('layouts.navbar.workbench_outputs.workgroup') -      #miOne.panel-collapse.collapse -        .list-group -          = link_to root_path, class: "list-group-item" do -            span = t('layouts.navbar.dashboard') -          = link_to workbench_output_path(workbench), class: 'list-group-item' do -            span = t('layouts.navbar.workbench_outputs.organisation') -          = link_to '#', class: 'list-group-item disabled' do -            span = t('layouts.navbar.workbench_outputs.workgroup') +    = main_nav_menu_item 'activerecord.models.workbench.one'.t.capitalize do +      = link_to workbench_path(workbench), class: "list-group-item" do +        span = t('activerecord.models.referential.other').capitalize +      = link_to workbench_imports_path(workbench), class: "list-group-item" do +        span = t('activerecord.models.import.other').capitalize +      = link_to workbench_exports_path(workbench), class: "list-group-item" do +        span = t('activerecord.models.export.other').capitalize +      = link_to workgroup_calendars_path(workbench.workgroup), class: 'list-group-item' do +        span = t('activerecord.models.calendar.other').capitalize +      = link_to workbench_compliance_check_sets_path(workbench), class: 'list-group-item' do +        span = t('activerecord.models.compliance_check_set.other').capitalize +      = link_to compliance_control_sets_path, class: 'list-group-item' do +        span = t('activerecord.models.compliance_control_set.other').capitalize -    .menu-item.panel -      .panel-heading -        h4.panel-title -          = link_to '#miTwo', data: {toggle: 'collapse', parent: '#menu-items'}, 'aria-expanded' => 'false' do -            - t('activerecord.models.workbench.one').capitalize +    = main_nav_menu_item 'layouts.navbar.line_referential'.t do +      = link_to line_referential_path(workbench.line_referential), class: "list-group-item" do +        span = t('layouts.navbar.sync_ilico') +      = link_to line_referential_lines_path(workbench.line_referential), class: "list-group-item" do +        span = Chouette::Line.t.capitalize +      = link_to line_referential_networks_path(workbench.line_referential), class: "list-group-item" do +        span = Chouette::Network.t.capitalize +      = link_to line_referential_companies_path(workbench.line_referential), class: "list-group-item" do +        span = Chouette::Company.t.capitalize -      #miTwo.panel-collapse.collapse -        .list-group -          = link_to workbench_path(workbench), class: "list-group-item" do -            span = t('activerecord.models.referential.other').capitalize -          = link_to workbench_imports_path(workbench), class: "list-group-item" do -            span = t('activerecord.models.import.other').capitalize -          = link_to workbench_exports_path(workbench), class: "list-group-item" do -            span = t('activerecord.models.export.other').capitalize -          = link_to workgroup_calendars_path(workbench.workgroup), class: 'list-group-item' do -            span = t('activerecord.models.calendar.other').capitalize -          = link_to workbench_compliance_check_sets_path(workbench), class: 'list-group-item' do -            span = t('activerecord.models.compliance_check_set.other').capitalize -          = link_to compliance_control_sets_path, class: 'list-group-item' do -            span = t('activerecord.models.compliance_control_set.other').capitalize +    = main_nav_menu_item 'layouts.navbar.stop_area_referential'.t do +      = link_to stop_area_referential_path(workbench.stop_area_referential), class: "list-group-item" do +        span = t('layouts.navbar.sync_icar') +      = link_to stop_area_referential_stop_areas_path(workbench.stop_area_referential), class: "list-group-item" do +        span = Chouette::StopArea.t.capitalize -    .menu-item.panel -      .panel-heading -        h4.panel-title -          = link_to '#miFour', data: {toggle: 'collapse', parent: '#menu-items'}, 'aria-expanded' => 'false' do -            = t('layouts.navbar.line_referential') +    = main_nav_menu_item 'layouts.navbar.configuration'.t do +      - if policy(workbench).edit? +        = link_to [:edit, workbench], class: 'list-group-item' do +          span = t('layouts.navbar.workbench_configuration') +      - if policy(workbench.workgroup).edit? +        = link_to [:edit, workbench.workgroup], class: 'list-group-item' do +          span = t('layouts.navbar.workgroup_configuration') -      #miFour.panel-collapse.collapse -        .list-group -          = link_to line_referential_path(workbench.line_referential), class: "list-group-item" do -            span = t('layouts.navbar.sync_ilico') -          = link_to line_referential_lines_path(workbench.line_referential), class: "list-group-item" do -            span = Chouette::Line.t.capitalize -          = link_to line_referential_networks_path(workbench.line_referential), class: "list-group-item" do -            span = Chouette::Network.t.capitalize -          = link_to line_referential_companies_path(workbench.line_referential), class: "list-group-item" do -            span = Chouette::Company.t.capitalize - -    .menu-item.panel -      .panel-heading -        h4.panel-title -          = link_to '#miFive', data: {toggle: 'collapse', parent: '#menu-items'}, 'aria-expanded' => 'false' do -            = t('layouts.navbar.stop_area_referential') - -      #miFive.panel-collapse.collapse -        .list-group -          = link_to stop_area_referential_path(workbench.stop_area_referential), class: "list-group-item" do -            span = t('layouts.navbar.sync_icar') -          = link_to stop_area_referential_stop_areas_path(workbench.stop_area_referential), class: "list-group-item" do -            span = Chouette::StopArea.t.capitalize - -    .menu-item.panel -      .panel-heading -        h4.panel-title -          = link_to '#miSix', data: {toggle: 'collapse', parent: '#menu-items'}, 'aria-expanded' => 'false' do -            = t('layouts.navbar.configuration') - -      #miSix.panel-collapse.collapse -        .list-group -          - if policy(workbench).edit? -            = link_to [:edit, workbench], class: 'list-group-item' do -              span = t('layouts.navbar.workbench_configuration') -          - if policy(workbench.workgroup).edit? -            = link_to [:edit, workbench.workgroup], class: 'list-group-item' do -              span = t('layouts.navbar.workgroup_configuration') - -    .menu-item.panel -      .panel-heading -        h4.panel-title -          = link_to '#miSeven', data: {toggle: 'collapse', parent: '#menu-items'}, 'aria-expanded' => 'false' do -            = t('layouts.navbar.tools') - -      #miSeven.panel-collapse.collapse -        .list-group -          = link_to Rails.application.config.try(:portal_url), target: '_blank', class: 'list-group-item' do -            span -              span.fa.fa-2x.fa-circle -              = t('layouts.navbar.portal') - -          = link_to Rails.application.config.try(:codifligne_url), target: '_blank', class: 'list-group-item' do -            span -              span.fa.fa-2x.fa-circle -              = t('layouts.navbar.ilico') - -          = link_to Rails.application.config.try(:reflex_url), target: '_blank', class: 'list-group-item' do -            span -              span.fa.fa-2x.fa-circle -              = t('layouts.navbar.icar') - -          = link_to '#', target: '_blank', class: 'list-group-item' do -            span -              span.fa.fa-2x.fa-circle -              = t('layouts.navbar.support') +    = main_nav_menu_item 'layouts.navbar.tools'.t do +      = link_to Rails.application.config.try(:portal_url), target: '_blank', class: 'list-group-item' do +        span +          span.fa.fa-2x.fa-circle +          = t('layouts.navbar.portal') +       +      = link_to Rails.application.config.try(:codifligne_url), target: '_blank', class: 'list-group-item' do +        span +          span.fa.fa-2x.fa-circle +          = t('layouts.navbar.ilico') +       +      = link_to Rails.application.config.try(:reflex_url), target: '_blank', class: 'list-group-item' do +        span +          span.fa.fa-2x.fa-circle +          = t('layouts.navbar.icar') +       +      = link_to '#', target: '_blank', class: 'list-group-item' do +        span +          span.fa.fa-2x.fa-circle +        = t('layouts.navbar.support') diff --git a/config/locales/layouts.en.yml b/config/locales/layouts.en.yml index 065437507..2f75bffbf 100644 --- a/config/locales/layouts.en.yml +++ b/config/locales/layouts.en.yml @@ -23,6 +23,7 @@ en:        workbench_output:          organisation: Organisation offers          workgroup: Workgroup offers +        edit_workgroup: App configuration        configuration: Settings        workgroup_configuration:  Application        workbench_configuration: Workbench diff --git a/config/locales/layouts.fr.yml b/config/locales/layouts.fr.yml index 8e739b6c7..4526a9e56 100644 --- a/config/locales/layouts.fr.yml +++ b/config/locales/layouts.fr.yml @@ -23,6 +23,7 @@ fr:        workbench_outputs:          organisation: Offre de mon organisation          workgroup: Offre du groupe de travail +        edit_workgroup: Configuration de l'application        configuration: Paramétrages        workgroup_configuration:  Application        workbench_configuration: Espace de travail | 
