5bb6a85b90
Reuse same search form and behavior for dashboard#projects, group#projects and admin#projects. Repsect all other options like sorting, personal filter when search projects by name. Create FilterableList JS class to handle identical behaviour of projects and groups lists. This change also makes filtering and sorting availabe on explore#projects and explore#groups no matter if you are logged in or not. Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
45 lines
2 KiB
Text
45 lines
2 KiB
Text
- @no_container = true
|
|
- page_title "Projects"
|
|
- params[:visibility_level] ||= []
|
|
|
|
= render "admin/dashboard/head"
|
|
|
|
%div{ class: container_class }
|
|
.top-area
|
|
.prepend-top-default
|
|
.search-holder
|
|
= render 'shared/projects/search_form', autofocus: true, icon: true
|
|
.dropdown
|
|
- toggle_text = 'Namespace'
|
|
- if params[:namespace_id].present?
|
|
= hidden_field_tag :namespace_id, params[:namespace_id]
|
|
- namespace = Namespace.find(params[:namespace_id])
|
|
- toggle_text = "#{namespace.kind}: #{namespace.full_path}"
|
|
= dropdown_toggle(toggle_text, { toggle: 'dropdown' }, { toggle_class: 'js-namespace-select large' })
|
|
.dropdown-menu.dropdown-select.dropdown-menu-align-right
|
|
= dropdown_title('Namespaces')
|
|
= dropdown_filter("Search for Namespace")
|
|
= dropdown_content
|
|
= dropdown_loading
|
|
= render 'shared/projects/dropdown'
|
|
= link_to new_project_path, class: 'btn btn-new' do
|
|
New Project
|
|
= button_tag "Search", class: "btn btn-primary btn-search hide"
|
|
|
|
%ul.nav-links
|
|
- opts = params[:visibility_level].present? ? {} : { page: admin_projects_path }
|
|
= nav_link(opts) do
|
|
= link_to admin_projects_path do
|
|
All
|
|
|
|
= nav_link(html_options: { class: active_when(params[:visibility_level] == Gitlab::VisibilityLevel::PRIVATE.to_s) }) do
|
|
= link_to admin_projects_path(visibility_level: Gitlab::VisibilityLevel::PRIVATE) do
|
|
Private
|
|
= nav_link(html_options: { class: active_when(params[:visibility_level] == Gitlab::VisibilityLevel::INTERNAL.to_s) }) do
|
|
= link_to admin_projects_path(visibility_level: Gitlab::VisibilityLevel::INTERNAL) do
|
|
Internal
|
|
= nav_link(html_options: { class: active_when(params[:visibility_level] == Gitlab::VisibilityLevel::PUBLIC.to_s) }) do
|
|
= link_to admin_projects_path(visibility_level: Gitlab::VisibilityLevel::PUBLIC) do
|
|
Public
|
|
|
|
= render 'projects'
|