index.html.haml 3.75 KB
Newer Older
Annabel Dunstone's avatar
Annabel Dunstone committed
1
- @no_container = true
2
- page_title _('Branches')
Annabel Dunstone's avatar
Annabel Dunstone committed
3

Valery Sizov's avatar
Valery Sizov committed
4
%div{ class: container_class }
5
  .top-area.adjust
6 7 8 9 10 11 12 13 14 15 16 17
    %ul.nav-links.issues-state-filters
      %li{ class: active_when(@mode == 'overview') }>
        = link_to s_('Branches|Overview'), project_branches_path(@project), title: s_('Branches|Show overview of the branches')

      %li{ class: active_when(@mode == 'active') }>
        = link_to s_('Branches|Active'), project_branches_filtered_path(@project, state: 'active'), title: s_('Branches|Show active branches')

      %li{ class: active_when(@mode == 'stale') }>
        = link_to s_('Branches|Stale'), project_branches_filtered_path(@project, state: 'stale'), title: s_('Branches|Show stale branches')

      %li{ class: active_when(!%w[overview active stale].include?(@mode)) }>
        = link_to s_('Branches|All'), project_branches_filtered_path(@project, state: 'all'), title: s_('Branches|Show all branches')
18

19
    .nav-controls
20
      = form_tag(project_branches_filtered_path(@project, state: 'all'), method: :get) do
21
        = search_field_tag :search, params[:search], { placeholder: s_('Branches|Filter by branch name'), id: 'branch-search', class: 'form-control search-text-input input-short', spellcheck: false }
22

23 24 25 26 27 28 29 30 31 32 33 34
      - unless @mode == 'overview'
        .dropdown.inline>
          %button.dropdown-menu-toggle{ type: 'button', 'data-toggle' => 'dropdown' }
            %span.light
              = branches_sort_options_hash[@sort]
            = icon('chevron-down')
          %ul.dropdown-menu.dropdown-menu-align-right.dropdown-menu-selectable
            %li.dropdown-header
              = s_('Branches|Sort by')
            - branches_sort_options_hash.each do |value, title|
              %li
                = link_to title, project_branches_filtered_path(@project, state: 'all', search: params[:search], sort: value), class: ("is-active" if @sort == value)
35 36

      - if can? current_user, :push_code, @project
37 38 39 40 41 42 43
        = link_to project_merged_branches_path(@project),
          class: 'btn btn-inverted btn-remove has-tooltip',
          title: s_("Branches|Delete all branches that are merged into '%{default_branch}'") % { default_branch: @project.repository.root_ref },
          method: :delete,
          data: { confirm: s_('Branches|Deleting the merged branches cannot be undone. Are you sure?'),
            container: 'body' } do
          = s_('Branches|Delete merged branches')
44
        = link_to new_project_branch_path(@project), class: 'btn btn-create' do
45
          = s_('Branches|New branch')
46

47 48 49 50 51 52 53 54 55 56 57
  - if can?(current_user, :admin_project, @project)
    - project_settings_link = link_to s_('Branches|project settings'), project_protected_branches_path(@project)
    .row-content-block
      %h5
        = s_('Branches|Protected branches can be managed in %{project_settings_link}.').html_safe % { project_settings_link: project_settings_link }

  - if @mode == 'overview' && (@active_branches.any? || @stale_branches.any?)
    = render "projects/branches/panel", branches: @active_branches, state: 'active', panel_title: s_('Branches|Active branches'), show_more_text: s_('Branches|Show more active branches'), project: @project, overview_max_branches: @overview_max_branches
    = render "projects/branches/panel", branches: @stale_branches, state: 'stale', panel_title: s_('Branches|Stale branches'), show_more_text: s_('Branches|Show more stale branches'), project: @project, overview_max_branches: @overview_max_branches

  - elsif @branches.any?
Annabel Dunstone's avatar
Annabel Dunstone committed
58 59
    %ul.content-list.all-branches
      - @branches.each do |branch|
60
        = render "projects/branches/branch", branch: branch, merged: @merged_branch_names.include?(branch.name)
Annabel Dunstone's avatar
Annabel Dunstone committed
61
    = paginate @branches, theme: 'gitlab'
62
  - else
63 64
    .nothing-here-block
      = s_('Branches|No branches to show')
65 66

= render 'projects/branches/delete_protected_modal'