Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
9bdd7f34
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 搜索 >>
提交
9bdd7f34
编写于
5月 21, 2015
作者:
R
Robert Speicher
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add link_to_label helper
上级
2b1b026a
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
109 addition
and
11 deletion
+109
-11
app/helpers/labels_helper.rb
app/helpers/labels_helper.rb
+38
-0
app/views/projects/issues/_discussion.html.haml
app/views/projects/issues/_discussion.html.haml
+1
-2
app/views/projects/issues/_issue.html.haml
app/views/projects/issues/_issue.html.haml
+1
-2
app/views/projects/labels/_label.html.haml
app/views/projects/labels/_label.html.haml
+1
-1
app/views/projects/merge_requests/_discussion.html.haml
app/views/projects/merge_requests/_discussion.html.haml
+1
-2
app/views/projects/merge_requests/_merge_request.html.haml
app/views/projects/merge_requests/_merge_request.html.haml
+1
-2
spec/helpers/labels_helper_spec.rb
spec/helpers/labels_helper_spec.rb
+66
-2
未找到文件。
app/helpers/labels_helper.rb
浏览文件 @
9bdd7f34
module
LabelsHelper
include
ActionView
::
Helpers
::
TagHelper
# Link to a Label
#
# label - Label object to link to
# project - Project object which will be used as the context for the label's
# link. If omitted, defaults to `@project`, or the label's own
# project.
# block - An optional block that will be passed to `link_to`, forming the
# body of the link element. If omitted, defaults to
# `render_colored_label`.
#
# Examples:
#
# # Allow the generated link to use the label's own project
# link_to_label(label)
#
# # Force the generated link to use @project
# @project = Project.first
# link_to_label(label)
#
# # Force the generated link to use a provided project
# link_to_label(label, project: Project.last)
#
# # Customize link body with a block
# link_to_label(label) { "My Custom Label Text" }
#
# Returns a String
def
link_to_label
(
label
,
project:
nil
,
&
block
)
project
||=
@project
||
label
.
project
link
=
namespace_project_issues_path
(
project
.
namespace
,
project
,
label_name:
label
.
name
)
if
block_given?
link_to
link
,
&
block
else
link_to
render_colored_label
(
label
),
link
end
end
def
project_label_names
@project
.
labels
.
pluck
(
:title
)
end
...
...
app/views/projects/issues/_discussion.html.haml
浏览文件 @
9bdd7f34
...
...
@@ -30,5 +30,4 @@
%label
Labels
.issue-show-labels
-
@issue
.
labels
.
each
do
|
label
|
=
link_to
namespace_project_issues_path
(
@project
.
namespace
,
@project
,
label_name:
label
.
name
)
do
=
render_colored_label
(
label
)
=
link_to_label
(
label
)
app/views/projects/issues/_issue.html.haml
浏览文件 @
9bdd7f34
...
...
@@ -8,8 +8,7 @@
=
link_to_gfm
issue
.
title
,
issue_path
(
issue
),
class:
"row_title"
.issue-labels
-
issue
.
labels
.
each
do
|
label
|
=
link_to
namespace_project_issues_path
(
issue
.
project
.
namespace
,
issue
.
project
,
label_name:
label
.
name
)
do
=
render_colored_label
(
label
)
=
link_to_label
(
label
,
project:
issue
.
project
)
.pull-right.light
-
if
issue
.
closed?
%span
...
...
app/views/projects/labels/_label.html.haml
浏览文件 @
9bdd7f34
...
...
@@ -2,7 +2,7 @@
=
render_colored_label
(
label
)
.pull-right
%strong
.append-right-20
=
link_to
namespace_project_issues_path
(
@project
.
namespace
,
@project
,
label_name:
label
.
name
)
do
=
link_to
_label
(
label
)
do
=
pluralize
label
.
open_issues_count
,
'open issue'
-
if
can?
current_user
,
:admin_label
,
@project
...
...
app/views/projects/merge_requests/_discussion.html.haml
浏览文件 @
9bdd7f34
...
...
@@ -27,5 +27,4 @@
%label
Labels
.merge-request-show-labels
-
@merge_request
.
labels
.
each
do
|
label
|
=
link_to
namespace_project_merge_requests_path
(
@project
.
namespace
,
@project
,
label_name:
label
.
name
)
do
=
render_colored_label
(
label
)
=
link_to_label
(
label
)
app/views/projects/merge_requests/_merge_request.html.haml
浏览文件 @
9bdd7f34
...
...
@@ -4,8 +4,7 @@
=
link_to_gfm
merge_request
.
title
,
merge_request_path
(
merge_request
),
class:
"row_title"
.merge-request-labels
-
merge_request
.
labels
.
each
do
|
label
|
=
link_to
namespace_project_merge_requests_path
(
merge_request
.
project
.
namespace
,
merge_request
.
project
,
label_name:
label
.
name
)
do
=
render_colored_label
(
label
)
=
link_to_label
(
label
,
project:
merge_request
.
project
)
.pull-right.light
-
if
merge_request
.
merged?
%span
...
...
spec/helpers/labels_helper_spec.rb
浏览文件 @
9bdd7f34
require
'spec_helper'
describe
LabelsHelper
do
it
{
expect
(
text_color_for_bg
(
'#EEEEEE'
)).
to
eq
(
'#333333'
)
}
it
{
expect
(
text_color_for_bg
(
'#222E2E'
)).
to
eq
(
'#FFFFFF'
)
}
describe
'link_to_label'
do
let
(
:project
)
{
create
(
:empty_project
)
}
let
(
:label
)
{
create
(
:label
,
project:
project
)
}
context
'with @project set'
do
before
do
@project
=
project
end
it
'uses the instance variable'
do
expect
(
label
).
not_to
receive
(
:project
)
link_to_label
(
label
)
end
end
context
'without @project set'
do
it
"uses the label's project"
do
expect
(
label
).
to
receive
(
:project
).
and_return
(
project
)
link_to_label
(
label
)
end
end
context
'with a named project argument'
do
it
'uses the provided project'
do
arg
=
double
(
'project'
)
expect
(
arg
).
to
receive
(
:namespace
).
and_return
(
'foo'
)
expect
(
arg
).
to
receive
(
:to_param
).
and_return
(
'foo'
)
link_to_label
(
label
,
project:
arg
)
end
it
'takes precedence over other types'
do
@project
=
project
expect
(
@project
).
not_to
receive
(
:namespace
)
expect
(
label
).
not_to
receive
(
:project
)
arg
=
double
(
'project'
,
namespace:
'foo'
,
to_param:
'foo'
)
link_to_label
(
label
,
project:
arg
)
end
end
context
'with block'
do
it
'passes the block to link_to'
do
link
=
link_to_label
(
label
)
{
'Foo'
}
expect
(
link
).
to
match
(
'Foo'
)
end
end
context
'without block'
do
it
'uses render_colored_label as the link content'
do
expect
(
self
).
to
receive
(
:render_colored_label
).
with
(
label
).
and_return
(
'Foo'
)
expect
(
link_to_label
(
label
)).
to
match
(
'Foo'
)
end
end
end
describe
'text_color_for_bg'
do
it
'uses light text on dark backgrounds'
do
expect
(
text_color_for_bg
(
'#222E2E'
)).
to
eq
(
'#FFFFFF'
)
end
it
'uses dark text on light backgrounds'
do
expect
(
text_color_for_bg
(
'#EEEEEE'
)).
to
eq
(
'#333333'
)
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录