Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
f5555784
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f5555784
编写于
11月 05, 2012
作者:
D
Dmitriy Zaporozhets
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added EventFilter class. Compeleted first version of dashbaord filtering
上级
ba567c8d
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
137 addition
and
1 deletion
+137
-1
app/assets/images/event_filter_comments.png
app/assets/images/event_filter_comments.png
+0
-0
app/assets/images/event_filter_merged.png
app/assets/images/event_filter_merged.png
+0
-0
app/assets/images/event_filter_push.png
app/assets/images/event_filter_push.png
+0
-0
app/assets/images/event_filter_team.png
app/assets/images/event_filter_team.png
+0
-0
app/assets/javascripts/main.js.coffee
app/assets/javascripts/main.js.coffee
+3
-0
app/assets/stylesheets/sections/events.scss
app/assets/stylesheets/sections/events.scss
+31
-0
app/controllers/dashboard_controller.rb
app/controllers/dashboard_controller.rb
+10
-1
app/helpers/events_helper.rb
app/helpers/events_helper.rb
+18
-0
app/views/dashboard/index.html.haml
app/views/dashboard/index.html.haml
+7
-0
lib/event_filter.rb
lib/event_filter.rb
+68
-0
未找到文件。
app/assets/images/event_filter_comments.png
0 → 100644
浏览文件 @
f5555784
750 字节
app/assets/images/event_filter_merged.png
0 → 100644
浏览文件 @
f5555784
463 字节
app/assets/images/event_filter_push.png
0 → 100644
浏览文件 @
f5555784
632 字节
app/assets/images/event_filter_team.png
0 → 100644
浏览文件 @
f5555784
1.3 KB
app/assets/javascripts/main.js.coffee
浏览文件 @
f5555784
...
...
@@ -27,6 +27,9 @@ $ ->
# Initialize chosen selects
$
(
'select.chosen'
).
chosen
()
# Initialize tooltips
$
(
'.has_tooltip'
).
tooltip
()
# Disable form buttons while a form is submitting
$
(
'body'
).
on
'ajax:complete, ajax:beforeSend, submit'
,
'form'
,
(
e
)
->
buttons
=
$
(
'[type="submit"]'
,
@
)
...
...
app/assets/stylesheets/sections/events.scss
浏览文件 @
f5555784
...
...
@@ -115,3 +115,34 @@
margin
:
-3px
;
}
}
/**
* Event filter
*
*/
.event_filter
{
position
:
absolute
;
width
:
40px
;
.filter_icon
{
float
:
left
;
border-left
:
3px
solid
#4bc
;
padding
:
7px
;
background
:
#f9f9f9
;
margin-bottom
:
10px
;
img
{
width
:
20px
;
}
&
.inactive
{
border-left
:
3px
solid
#EEE
;
opacity
:
0
.5
;
}
}
}
.activities
{
.content_list
{
margin-left
:
50px
;
}
}
app/controllers/dashboard_controller.rb
浏览文件 @
f5555784
class
DashboardController
<
ApplicationController
respond_to
:html
before_filter
:event_filter
,
only: :index
def
index
@groups
=
Group
.
where
(
id:
current_user
.
projects
.
pluck
(
:group_id
))
@projects
=
current_user
.
projects_with_events
@projects
=
@projects
.
page
(
params
[
:page
]).
per
(
30
)
@events
=
Event
.
in_projects
(
current_user
.
project_ids
).
limit
(
20
).
offset
(
params
[
:offset
]
||
0
)
@events
=
Event
.
in_projects
(
current_user
.
project_ids
)
@events
=
@event_filter
.
apply_filter
(
@events
)
@events
=
@events
.
limit
(
20
).
offset
(
params
[
:offset
]
||
0
)
@last_push
=
current_user
.
recent_push
respond_to
do
|
format
|
...
...
@@ -34,4 +39,8 @@ class DashboardController < ApplicationController
format
.
atom
{
render
layout:
false
}
end
end
def
event_filter
@event_filter
||=
EventFilter
.
new
(
params
[
:event_filter
])
end
end
app/helpers/events_helper.rb
浏览文件 @
f5555784
...
...
@@ -33,4 +33,22 @@ module EventsHelper
image_tag
event_image_path
end
end
def
event_filter_link
key
,
tooltip
key
=
key
.
to_s
filter
=
@event_filter
.
options
key
inactive
=
if
@event_filter
.
active?
key
nil
else
'inactive'
end
content_tag
:div
,
class:
"filter_icon
#{
inactive
}
"
do
link_to
dashboard_path
(
event_filter:
filter
),
class:
'has_tooltip'
,
'data-original-title'
=>
tooltip
do
image_tag
"event_filter_
#{
key
}
.png"
end
end
end
end
app/views/dashboard/index.html.haml
浏览文件 @
f5555784
...
...
@@ -3,6 +3,13 @@
.activities.span8
=
render
"events/event_last_push"
,
event:
@last_push
=
render
'shared/no_ssh'
.event_filter
=
event_filter_link
EventFilter
.
push
,
'Push events'
=
event_filter_link
EventFilter
.
merged
,
'Merge events'
=
event_filter_link
EventFilter
.
comments
,
'Comments'
=
event_filter_link
EventFilter
.
team
,
'Team'
-
if
@events
.
any?
.content_list
=
render
@events
-
else
...
...
lib/event_filter.rb
0 → 100644
浏览文件 @
f5555784
class
EventFilter
attr_accessor
:params
class
<<
self
def
default_filter
%w{ push issues merge_requests team}
end
def
push
'push'
end
def
merged
'merged'
end
def
comments
'comments'
end
def
team
'team'
end
end
def
initialize
params
@params
=
if
params
params
.
dup
else
[]
#EventFilter.default_filter
end
end
def
apply_filter
events
return
events
unless
params
.
present?
filter
=
params
.
dup
actions
=
[]
actions
<<
Event
::
Pushed
if
filter
.
include?
'push'
actions
<<
Event
::
Merged
if
filter
.
include?
'merged'
if
filter
.
include?
'team'
actions
<<
Event
::
Joined
actions
<<
Event
::
Left
end
actions
<<
Event
::
Commented
if
filter
.
include?
'comments'
events
=
events
.
where
(
action:
actions
)
end
def
options
key
filter
=
params
.
dup
if
filter
.
include?
key
filter
.
delete
key
else
filter
<<
key
end
filter
end
def
active?
key
params
.
include?
key
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录