Continue refactoring and restyle of search layout
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
parent
d5fe1e57d5
commit
1ff01d26e1
|
@ -333,17 +333,8 @@ table {
|
|||
}
|
||||
|
||||
.search_box {
|
||||
position: relative;
|
||||
padding: 30px;
|
||||
@extend .well;
|
||||
text-align: center;
|
||||
background-color: #F9F9F9;
|
||||
border: 1px solid #DDDDDD;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
.search_glyph {
|
||||
color: #555;
|
||||
font-size: 42px;
|
||||
}
|
||||
|
||||
.task-status {
|
||||
|
|
|
@ -13,8 +13,9 @@
|
|||
|
||||
.navbar-collapse.collapse
|
||||
%ul.nav.navbar-nav
|
||||
%li.hidden-sm.hidden-xs
|
||||
= render 'layouts/search'
|
||||
- unless current_controller?(:search)
|
||||
%li.hidden-sm.hidden-xs
|
||||
= render 'layouts/search'
|
||||
%li.visible-sm.visible-xs
|
||||
= link_to search_path, title: 'Search', data: {toggle: 'tooltip', placement: 'bottom'} do
|
||||
= icon('search')
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.search
|
||||
= form_tag search_path, method: :get, class: 'navbar-form pull-left' do |f|
|
||||
= search_field_tag "search", @search_term, placeholder: search_placeholder, class: "search-input"
|
||||
= search_field_tag "search", nil, placeholder: search_placeholder, class: "search-input"
|
||||
= hidden_field_tag :group_id, @group.try(:id)
|
||||
- if @project && @project.persisted?
|
||||
= hidden_field_tag :project_id, @project.id
|
||||
|
|
|
@ -1,30 +1,30 @@
|
|||
%ul.nav.nav-sidebar.search-filter
|
||||
- if @project
|
||||
= render 'layouts/nav/search/project'
|
||||
- if @search_term
|
||||
%ul.nav.nav-sidebar.search-filter
|
||||
- if @project
|
||||
= render 'layouts/nav/search/project'
|
||||
|
||||
- elsif @show_snippets
|
||||
= render 'layouts/nav/search/snippet'
|
||||
|
||||
- else
|
||||
%li{class: ("active" if @scope == 'projects')}
|
||||
= link_to search_filter_path(scope: 'projects') do
|
||||
= icon('bookmark fw')
|
||||
%span
|
||||
Projects
|
||||
%span.count
|
||||
= @search_results.projects_count
|
||||
%li{class: ("active" if @scope == 'issues')}
|
||||
= link_to search_filter_path(scope: 'issues') do
|
||||
= icon('exclamation-circle fw')
|
||||
%span
|
||||
Issues
|
||||
%span.count
|
||||
= @search_results.issues_count
|
||||
%li{class: ("active" if @scope == 'merge_requests')}
|
||||
= link_to search_filter_path(scope: 'merge_requests') do
|
||||
= icon('tasks fw')
|
||||
%span
|
||||
Merge requests
|
||||
%span.count
|
||||
= @search_results.merge_requests_count
|
||||
- elsif @show_snippets
|
||||
= render 'layouts/nav/search/snippet'
|
||||
|
||||
- else
|
||||
%li{class: ("active" if @scope == 'projects')}
|
||||
= link_to search_filter_path(scope: 'projects') do
|
||||
= icon('bookmark fw')
|
||||
%span
|
||||
Projects
|
||||
%span.count
|
||||
= @search_results.projects_count
|
||||
%li{class: ("active" if @scope == 'issues')}
|
||||
= link_to search_filter_path(scope: 'issues') do
|
||||
= icon('exclamation-circle fw')
|
||||
%span
|
||||
Issues
|
||||
%span.count
|
||||
= @search_results.issues_count
|
||||
%li{class: ("active" if @scope == 'merge_requests')}
|
||||
= link_to search_filter_path(scope: 'merge_requests') do
|
||||
= icon('tasks fw')
|
||||
%span
|
||||
Merge requests
|
||||
%span.count
|
||||
= @search_results.merge_requests_count
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.dropdown.inline
|
||||
%button.dropdown-toggle.btn.btn-sm{type: 'button', 'data-toggle' => 'dropdown'}
|
||||
%button.dropdown-toggle.btn.btn{type: 'button', 'data-toggle' => 'dropdown'}
|
||||
%i.fa.fa-tags
|
||||
%span.light Group:
|
||||
- if @group.present?
|
||||
|
@ -17,7 +17,7 @@
|
|||
= group.name
|
||||
|
||||
.dropdown.inline.prepend-left-10.project-filter
|
||||
%button.dropdown-toggle.btn.btn-sm{type: 'button', 'data-toggle' => 'dropdown'}
|
||||
%button.dropdown-toggle.btn.btn{type: 'button', 'data-toggle' => 'dropdown'}
|
||||
%i.fa.fa-tags
|
||||
%span.light Project:
|
||||
- if @project.present?
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
= form_tag search_path, method: :get, class: 'form-inline' do |f|
|
||||
= hidden_field_tag :project_id, params[:project_id]
|
||||
= hidden_field_tag :group_id, params[:group_id]
|
||||
= hidden_field_tag :snippets, params[:snippets]
|
||||
= hidden_field_tag :scope, params[:scope]
|
||||
.search-holder.clearfix
|
||||
.form-group
|
||||
= search_field_tag :search, params[:search], placeholder: "Search for projects, issues etc", class: "form-control search-text-input input-mn-300", id: "dashboard_search", autofocus: true
|
||||
= button_tag 'Search', class: "btn btn-info"
|
||||
- unless params[:snippets].eql? 'true'
|
||||
.pull-right
|
||||
= render 'filter'
|
|
@ -1,9 +1,21 @@
|
|||
.search-results
|
||||
- if @search_results.empty?
|
||||
= render partial: "search/results/empty", locals: { message: "We couldn't find any matching results" }
|
||||
- else
|
||||
= render partial: "search/results/#{@scope.singularize}", collection: @objects
|
||||
= paginate @objects, theme: 'gitlab'
|
||||
- if @search_results.empty?
|
||||
= render partial: "search/results/empty"
|
||||
- else
|
||||
.light
|
||||
Search results for
|
||||
%code
|
||||
= @search_term
|
||||
- unless @show_snippets
|
||||
- if @project
|
||||
in project #{link_to @project.name_with_namespace, [@project.namespace.becomes(Namespace), @project]}
|
||||
- elsif @group
|
||||
in group #{link_to @group.name, @group}
|
||||
|
||||
%br
|
||||
.results.prepend-top-10
|
||||
.search-results
|
||||
= render partial: "search/results/#{@scope.singularize}", collection: @objects
|
||||
= paginate @objects, theme: 'gitlab'
|
||||
|
||||
:javascript
|
||||
$(".search-results .term").highlight("#{escape_javascript(params[:search])}");
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
.search_box
|
||||
.search_glyph
|
||||
%span.fa.fa-search
|
||||
%h4 #{message}
|
||||
%h4
|
||||
= icon('search')
|
||||
We couldn't find any results matching
|
||||
%code #{@search_term}
|
||||
|
|
|
@ -1,18 +1,4 @@
|
|||
= render 'search/form'
|
||||
%hr
|
||||
- if @search_term
|
||||
.lead
|
||||
Search for
|
||||
%code
|
||||
= @search_term
|
||||
- unless @show_snippets
|
||||
- if @project
|
||||
in project #{link_to @project.name_with_namespace, [@project.namespace.becomes(Namespace), @project]}
|
||||
- elsif @group
|
||||
in group #{link_to @group.name, @group}
|
||||
|
||||
.pull-right
|
||||
= render 'filter'
|
||||
%hr
|
||||
.results.prepend-top-10
|
||||
= render 'search/results'
|
||||
- else
|
||||
wow
|
||||
= render 'search/results'
|
||||
|
|
28
db/schema.rb
28
db/schema.rb
|
@ -349,10 +349,10 @@ ActiveRecord::Schema.define(version: 20150425173433) do
|
|||
t.string "import_url"
|
||||
t.integer "visibility_level", default: 0, null: false
|
||||
t.boolean "archived", default: false, null: false
|
||||
t.string "avatar"
|
||||
t.string "import_status"
|
||||
t.float "repository_size", default: 0.0
|
||||
t.integer "star_count", default: 0, null: false
|
||||
t.string "avatar"
|
||||
t.string "import_type"
|
||||
t.string "import_source"
|
||||
end
|
||||
|
@ -472,7 +472,6 @@ ActiveRecord::Schema.define(version: 20150425173433) do
|
|||
t.integer "notification_level", default: 1, null: false
|
||||
t.datetime "password_expires_at"
|
||||
t.integer "created_by_id"
|
||||
t.datetime "last_credential_check_at"
|
||||
t.string "avatar"
|
||||
t.string "confirmation_token"
|
||||
t.datetime "confirmed_at"
|
||||
|
@ -480,6 +479,7 @@ ActiveRecord::Schema.define(version: 20150425173433) do
|
|||
t.string "unconfirmed_email"
|
||||
t.boolean "hide_no_ssh_key", default: false
|
||||
t.string "website_url", default: "", null: false
|
||||
t.datetime "last_credential_check_at"
|
||||
t.string "github_access_token"
|
||||
t.string "gitlab_access_token"
|
||||
t.string "notification_email"
|
||||
|
@ -501,6 +501,30 @@ ActiveRecord::Schema.define(version: 20150425173433) do
|
|||
add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree
|
||||
add_index "users", ["username"], name: "index_users_on_username", using: :btree
|
||||
|
||||
create_table "users_groups", force: true do |t|
|
||||
t.integer "group_access", null: false
|
||||
t.integer "group_id", null: false
|
||||
t.integer "user_id", null: false
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
t.integer "notification_level", default: 3, null: false
|
||||
end
|
||||
|
||||
add_index "users_groups", ["user_id"], name: "index_users_groups_on_user_id", using: :btree
|
||||
|
||||
create_table "users_projects", force: true do |t|
|
||||
t.integer "user_id", null: false
|
||||
t.integer "project_id", null: false
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
t.integer "project_access", default: 0, null: false
|
||||
t.integer "notification_level", default: 3, null: false
|
||||
end
|
||||
|
||||
add_index "users_projects", ["project_access"], name: "index_users_projects_on_project_access", using: :btree
|
||||
add_index "users_projects", ["project_id"], name: "index_users_projects_on_project_id", using: :btree
|
||||
add_index "users_projects", ["user_id"], name: "index_users_projects_on_user_id", using: :btree
|
||||
|
||||
create_table "users_star_projects", force: true do |t|
|
||||
t.integer "project_id", null: false
|
||||
t.integer "user_id", null: false
|
||||
|
|
Loading…
Reference in New Issue