Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
gitlab-ce
Commits
7b6f2fb1
Commit
7b6f2fb1
authored
May 08, 2013
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'enhancement/issue_filter_dropdown' of /home/git/repositories/gitlab/gitlabhq
parents
5d66df0a
646fbe92
Changes
9
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
689 additions
and
18 deletions
+689
-18
app/assets/javascripts/application.js
app/assets/javascripts/application.js
+1
-0
app/assets/javascripts/issues.js.coffee
app/assets/javascripts/issues.js.coffee
+10
-8
app/assets/stylesheets/gitlab_bootstrap/common.scss
app/assets/stylesheets/gitlab_bootstrap/common.scss
+1
-0
app/controllers/issues_controller.rb
app/controllers/issues_controller.rb
+6
-0
app/helpers/issues_helper.rb
app/helpers/issues_helper.rb
+11
-0
app/helpers/labels_helper.rb
app/helpers/labels_helper.rb
+2
-2
app/views/issues/_filter.html.haml
app/views/issues/_filter.html.haml
+1
-1
app/views/issues/_issues.html.haml
app/views/issues/_issues.html.haml
+67
-7
vendor/assets/javascripts/jquery.blockUI.js
vendor/assets/javascripts/jquery.blockUI.js
+590
-0
No files found.
app/assets/javascripts/application.js
View file @
7b6f2fb1
...
@@ -14,6 +14,7 @@
...
@@ -14,6 +14,7 @@
//= require jquery.waitforimages
//= require jquery.waitforimages
//= require jquery.atwho
//= require jquery.atwho
//= require jquery.scrollto
//= require jquery.scrollto
//= require jquery.blockUI
//= require turbolinks
//= require turbolinks
//= require jquery.turbolinks
//= require jquery.turbolinks
//= require bootstrap
//= require bootstrap
...
...
app/assets/javascripts/issues.js.coffee
View file @
7b6f2fb1
...
@@ -15,7 +15,13 @@
...
@@ -15,7 +15,13 @@
$
(
this
).
html
totalIssues
+
1
$
(
this
).
html
totalIssues
+
1
else
else
$
(
this
).
html
totalIssues
-
1
$
(
this
).
html
totalIssues
-
1
$
(
"body"
).
on
"click"
,
".issues-filters .dropdown-menu a"
,
->
$
(
'.issues-list'
).
block
(
message
:
null
,
overlayCSS
:
backgroundColor
:
'#DDD'
opacity
:
.
4
)
reload
:
->
reload
:
->
Issues
.
initSelects
()
Issues
.
initSelects
()
...
@@ -48,10 +54,6 @@
...
@@ -48,10 +54,6 @@
unless
terms
is
last_terms
unless
terms
is
last_terms
last_terms
=
terms
last_terms
=
terms
if
terms
.
length
>=
2
or
terms
.
length
is
0
if
terms
.
length
>=
2
or
terms
.
length
is
0
$
(
'#search_status'
).
val
(
$
(
'#status'
).
val
())
$
(
'#search_assignee_id'
).
val
(
$
(
'#assignee_id'
).
val
())
$
(
'#search_milestone_id'
).
val
(
$
(
'#milestone_id'
).
val
())
$
(
'#search_label_name'
).
val
(
$
(
'#label_name'
).
val
())
form
.
submit
()
form
.
submit
()
checkChanged
:
->
checkChanged
:
->
...
@@ -62,9 +64,9 @@
...
@@ -62,9 +64,9 @@
ids
.
push
$
(
value
).
attr
(
"data-id"
)
ids
.
push
$
(
value
).
attr
(
"data-id"
)
$
(
"#update_issues_ids"
).
val
ids
$
(
"#update_issues_ids"
).
val
ids
$
(
".issues
_
filters"
).
hide
()
$
(
".issues
-
filters"
).
hide
()
$
(
".issues_bulk_update"
).
show
()
$
(
".issues_bulk_update"
).
show
()
else
else
$
(
"#update_issues_ids"
).
val
[]
$
(
"#update_issues_ids"
).
val
[]
$
(
".issues_bulk_update"
).
hide
()
$
(
".issues_bulk_update"
).
hide
()
$
(
".issues
_
filters"
).
show
()
$
(
".issues
-
filters"
).
show
()
app/assets/stylesheets/gitlab_bootstrap/common.scss
View file @
7b6f2fb1
...
@@ -19,6 +19,7 @@
...
@@ -19,6 +19,7 @@
.append-right-20
{
margin-right
:
20px
}
.append-right-20
{
margin-right
:
20px
}
.append-bottom-10
{
margin-bottom
:
10px
}
.append-bottom-10
{
margin-bottom
:
10px
}
.append-bottom-20
{
margin-bottom
:
20px
}
.append-bottom-20
{
margin-bottom
:
20px
}
.inline
{
display
:
inline-block
}
.padded
{
padding
:
20px
}
.padded
{
padding
:
20px
}
.ipadded
{
padding
:
20px
!
important
}
.ipadded
{
padding
:
20px
!
important
}
...
...
app/controllers/issues_controller.rb
View file @
7b6f2fb1
...
@@ -20,6 +20,12 @@ class IssuesController < ProjectResourceController
...
@@ -20,6 +20,12 @@ class IssuesController < ProjectResourceController
@issues
=
@issues
.
where
(
"title LIKE ?"
,
"%
#{
terms
}
%"
)
if
terms
.
present?
@issues
=
@issues
.
where
(
"title LIKE ?"
,
"%
#{
terms
}
%"
)
if
terms
.
present?
@issues
=
@issues
.
page
(
params
[
:page
]).
per
(
20
)
@issues
=
@issues
.
page
(
params
[
:page
]).
per
(
20
)
assignee_id
,
milestone_id
=
params
[
:assignee_id
],
params
[
:milestone_id
]
@assignee
=
@project
.
users
.
find
(
assignee_id
)
if
assignee_id
.
present?
&&
!
assignee_id
.
to_i
.
zero?
@milestone
=
@project
.
milestones
.
find
(
milestone_id
)
if
milestone_id
.
present?
&&
!
milestone_id
.
to_i
.
zero?
respond_to
do
|
format
|
respond_to
do
|
format
|
format
.
html
# index.html.erb
format
.
html
# index.html.erb
format
.
js
format
.
js
...
...
app/helpers/issues_helper.rb
View file @
7b6f2fb1
...
@@ -78,4 +78,15 @@ module IssuesHelper
...
@@ -78,4 +78,15 @@ module IssuesHelper
""
""
end
end
end
end
def
project_issues_with_filter_path
(
project
,
opts
)
default_opts
=
{
status:
params
[
:status
],
label_name:
params
[
:label_name
],
milestone_id:
params
[
:milestone_id
],
assignee_id:
params
[
:assignee_id
],
}
project_issues_path
(
@project
,
default_opts
.
merge
(
opts
))
end
end
end
app/helpers/labels_helper.rb
View file @
7b6f2fb1
module
LabelsHelper
module
LabelsHelper
def
issue_
tag
s
def
issue_
label_name
s
@project
.
issues
.
tag_counts_on
(
:labels
)
.
map
(
&
:name
)
@project
.
issues
_labels
.
map
(
&
:name
)
end
end
def
labels_autocomplete_source
def
labels_autocomplete_source
...
...
app/views/issues/_filter.html.haml
View file @
7b6f2fb1
=
form_tag
project_issues_path
(
@project
),
method:
'get'
do
=
form_tag
project_issues_path
(
@project
),
method:
'get'
do
%fieldset
%fieldset
%ul
.nav.nav-pills.nav-stacked
%ul
.nav.nav-pills.nav-stacked
%li
{
class:
(
"active"
if
!
params
[
:status
])}
%li
{
class:
(
"active"
if
!
params
[
:status
]
||
params
[
:status
].
blank?
)}
=
link_to
project_issues_path
(
@project
,
status:
nil
)
do
=
link_to
project_issues_path
(
@project
,
status:
nil
)
do
Open
Open
%li
{
class:
(
"active"
if
params
[
:status
]
==
'assigned-to-me'
)}
%li
{
class:
(
"active"
if
params
[
:status
]
==
'assigned-to-me'
)}
...
...
app/views/issues/_issues.html.haml
View file @
7b6f2fb1
...
@@ -12,13 +12,73 @@
...
@@ -12,13 +12,73 @@
=
hidden_field_tag
'update[issues_ids]'
,
[]
=
hidden_field_tag
'update[issues_ids]'
,
[]
=
hidden_field_tag
:status
,
params
[
:status
]
=
hidden_field_tag
:status
,
params
[
:status
]
=
button_tag
"Save"
,
class:
"btn update_selected_issues btn-small btn-save"
=
button_tag
"Save"
,
class:
"btn update_selected_issues btn-small btn-save"
.issues_filters
.issues-filters
=
form_tag
project_issues_path
(
@project
),
method: :get
,
remote:
true
do
%span
Filter by
=
select_tag
(
:label_name
,
options_for_select
(
issue_tags
,
params
[
:label_name
]),
prompt:
"Labels"
)
.dropdown.inline.prepend-left-10
=
select_tag
(
:assignee_id
,
options_from_collection_for_select
([
unassigned_filter
]
+
@project
.
users
.
all
,
"id"
,
"name"
,
params
[
:assignee_id
]),
prompt:
"Assignee"
)
%a
.dropdown-toggle.btn.btn-small
{
href:
'#'
,
"data-toggle"
=>
"dropdown"
}
=
select_tag
(
:milestone_id
,
options_from_collection_for_select
([
unassigned_filter
]
+
issues_active_milestones
,
"id"
,
"title"
,
params
[
:milestone_id
]),
prompt:
"Milestone"
)
%i
.icon-tags
=
hidden_field_tag
:status
,
params
[
:status
]
%span
.light
labels:
=
hidden_field_tag
:issue_search
,
params
[
:status
],
id:
'filter_issue_search'
-
if
params
[
:label_name
].
present?
%strong
=
params
[
:label_name
]
-
else
Any
%b
.caret
%ul
.dropdown-menu
%li
=
link_to
project_issues_with_filter_path
(
@project
,
label_name:
nil
)
do
Any
-
issue_label_names
.
each
do
|
label_name
|
%li
=
link_to
project_issues_with_filter_path
(
@project
,
label_name:
label_name
)
do
%span
{
class:
"label #{label_css_class(label_name)}"
}
%i
.icon-tag
=
label_name
.dropdown.inline.prepend-left-10
%a
.dropdown-toggle.btn.btn-small
{
href:
'#'
,
"data-toggle"
=>
"dropdown"
}
%i
.icon-user
%span
.light
assignee:
-
if
@assignee
.
present?
%strong
=
@assignee
.
name
-
elsif
params
[
:assignee_id
]
==
"0"
Unassigned
-
else
Any
%b
.caret
%ul
.dropdown-menu
%li
=
link_to
project_issues_with_filter_path
(
@project
,
assignee_id:
nil
)
do
Any
=
link_to
project_issues_with_filter_path
(
@project
,
assignee_id:
0
)
do
Unassigned
-
@project
.
users
.
sort_by
(
&
:name
).
each
do
|
user
|
%li
=
link_to
project_issues_with_filter_path
(
@project
,
assignee_id:
user
.
id
)
do
=
image_tag
gravatar_icon
(
user
.
email
),
class:
"avatar s16"
=
user
.
name
.dropdown.inline.prepend-left-10
%a
.dropdown-toggle.btn.btn-small
{
href:
'#'
,
"data-toggle"
=>
"dropdown"
}
%i
.icon-time
%span
.light
milestone:
-
if
@milestone
.
present?
%strong
=
@milestone
.
title
-
elsif
params
[
:milestone_id
]
==
"0"
Unspecified
-
else
Any
%b
.caret
%ul
.dropdown-menu
%li
=
link_to
project_issues_with_filter_path
(
@project
,
milestone_id:
nil
)
do
Any
=
link_to
project_issues_with_filter_path
(
@project
,
milestone_id:
0
)
do
Unspecified
-
issues_active_milestones
.
each
do
|
milestone
|
%li
=
link_to
project_issues_with_filter_path
(
@project
,
milestone_id:
milestone
.
id
)
do
%strong
=
milestone
.
title
%small
.light
=
milestone
.
expires_at
%ul
.well-list.issues-list
%ul
.well-list.issues-list
=
render
@issues
=
render
@issues
...
...
vendor/assets/javascripts/jquery.blockUI.js
0 → 100644
View file @
7b6f2fb1
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment