Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
49bc1cd6
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 搜索 >>
提交
49bc1cd6
编写于
7月 18, 2016
作者:
P
Phil Hughes
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updated how the label toggle gets the text
Fixed some issues based on self-review
上级
357ad44a
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
21 addition
and
65 deletion
+21
-65
app/assets/javascripts/labels_select.js.coffee
app/assets/javascripts/labels_select.js.coffee
+15
-59
app/assets/javascripts/milestone_select.js.coffee
app/assets/javascripts/milestone_select.js.coffee
+3
-3
app/helpers/labels_helper.rb
app/helpers/labels_helper.rb
+1
-1
app/helpers/milestones_helper.rb
app/helpers/milestones_helper.rb
+1
-1
app/views/shared/issuable/_label_dropdown.html.haml
app/views/shared/issuable/_label_dropdown.html.haml
+1
-1
未找到文件。
app/assets/javascripts/labels_select.js.coffee
浏览文件 @
49bc1cd6
...
...
@@ -25,11 +25,9 @@ class @LabelsSelect
$newLabelError
=
$
(
'.js-label-error'
)
$colorPreview
=
$
(
'.js-dropdown-label-color-preview'
)
$newLabelCreateButton
=
$
(
'.js-new-label-btn'
)
selectedLabels
=
[]
$
(
"input[name='
#{
$dropdown
.
data
(
'field-name'
)
}
']"
).
each
->
title
=
$
(
this
).
data
(
'title'
)
selectedLabels
.
push
(
$
(
this
).
data
(
'title'
))
if
title
fieldName
=
$dropdown
.
data
(
'field-name'
)
useId
=
$dropdown
.
hasClass
(
'js-issuable-form-dropdown'
)
or
$dropdown
.
hasClass
(
'js-filter-bulk-update'
)
propertyName
=
if
useId
then
"id"
else
"title"
$newLabelError
.
hide
()
$loading
=
$block
.
find
(
'.block-loading'
).
fadeOut
()
...
...
@@ -125,7 +123,7 @@ class @LabelsSelect
saveLabelData
=
->
selected
=
$dropdown
.
closest
(
'.selectbox'
)
.
find
(
"input[name='
#{
$dropdown
.
data
(
'field-name'
)
}
']"
)
.
find
(
"input[name='
#{
fieldName
}
']"
)
.
map
(
->
@
value
).
get
()
...
...
@@ -278,63 +276,21 @@ class @LabelsSelect
fields
:
[
'title'
]
selectable
:
true
filterable
:
true
toggleLabel
:
(
selected
,
$el
,
glDropdownInstance
)
->
# When comes from a triggered event handle it VERY differently
if
selected
instanceof
jQuery
.
Event
$dropdownParent
=
$dropdown
.
closest
'.labels-filter'
$labelInputs
=
$dropdownParent
.
find
"input[name='
#{
@
fieldName
}
']"
numberSelectedLabels
=
$labelInputs
.
length
firstLabel
=
_
.
pluck
(
$labelInputs
,
'value'
)[
0
]
if
numberSelectedLabels
is
1
firstLabel
else
if
numberSelectedLabels
>
1
"
#{
firstLabel
}
+
#{
numberSelectedLabels
-
1
}
more"
else
defaultLabel
# when clicking on a dropdown option
else
# Return when clicking "No Label"
return
if
selected
.
id
is
0
return
'Any Label'
if
selected
.
isAny
is
true
if
glDropdownInstance
?
$dropdownParent
=
glDropdownInstance
.
dropdown
.
closest
'.issuable-form-select-holder, .labels-filter'
else
$dropdownParent
=
$
()
toggleLabel
:
(
selected
,
el
,
glDropdown
)
->
if
glDropdown
?
selectedIds
=
$
(
"input[name='
#{
fieldName
}
']"
).
map
(
->
$
(
this
).
val
()).
get
()
$labelInputs
=
$dropdownParent
.
find
"input[name='
#{
@
fieldName
}
']"
selected
=
_
.
filter
glDropdown
.
fullData
,
(
label
)
->
selectedIds
.
indexOf
(
"
#{
label
[
propertyName
]
}
"
)
>=
0
if
label
[
propertyName
]
?
# Find the label by its attribute according the dropdown settings
if
$dropdown
.
hasClass
(
'js-issuable-form-dropdown'
)
or
$dropdown
.
hasClass
(
'js-filter-bulk-update'
)
# When settings labels to a issuable we find the label for its ID
whereQuery
=
{
id
:
parseInt
$labelInputs
.
first
().
val
()
}
if
selected
.
length
is
1
selected
[
0
].
title
else
if
selected
.
length
>
1
"
#{
selected
[
0
].
title
}
+
#{
selected
.
length
-
1
}
more"
else
# When filtering issuables we find the label for its title
whereQuery
=
{
title
:
$labelInputs
.
first
().
val
()
}
firstLabel
=
_
.
findWhere
glDropdownInstance
.
fullData
,
whereQuery
# Better rely on inputs since filtering may returns invalid number of active labels
numberSelectedLabels
=
$labelInputs
.
length
# If we are adding a label
if
$el
.
is
'.is-active'
if
numberSelectedLabels
is
1
selected
.
title
else
"
#{
selected
.
title
}
+
#{
numberSelectedLabels
-
1
}
more"
# otherwise we are removing a label
else
if
numberSelectedLabels
is
1
firstLabel
.
title
else
if
numberSelectedLabels
>
1
"
#{
firstLabel
.
title
}
+
#{
numberSelectedLabels
-
1
}
more"
else
defaultLabel
defaultLabel
defaultLabel
:
defaultLabel
fieldName
:
$dropdown
.
data
(
'field-name'
)
fieldName
:
fieldName
id
:
(
label
)
->
if
$dropdown
.
hasClass
(
'js-issuable-form-dropdown'
)
if
label
.
id
is
0
...
...
app/assets/javascripts/milestone_select.js.coffee
浏览文件 @
49bc1cd6
...
...
@@ -70,8 +70,8 @@ class @MilestoneSelect
search
:
fields
:
[
'title'
]
selectable
:
true
toggleLabel
:
(
selected
,
el
,
e
,
added
)
->
if
selected
and
'id'
of
selected
and
added
toggleLabel
:
(
selected
,
el
,
e
)
->
if
selected
and
'id'
of
selected
and
$
(
el
).
hasClass
(
'is-active'
)
selected
.
title
else
defaultLabel
...
...
@@ -80,7 +80,7 @@ class @MilestoneSelect
text
:
(
milestone
)
->
_
.
escape
(
milestone
.
title
)
id
:
(
milestone
)
->
if
!
useId
and
not
$dropdown
.
is
(
'.js-issuable-form-dropdown'
)
if
not
useId
and
not
$dropdown
.
is
(
'.js-issuable-form-dropdown'
)
milestone
.
name
else
milestone
.
id
...
...
app/helpers/labels_helper.rb
浏览文件 @
49bc1cd6
...
...
@@ -116,7 +116,7 @@ module LabelsHelper
def
labels_filter_path
project
=
@target_project
||
@project
if
@
project
if
project
namespace_project_labels_path
(
project
.
namespace
,
project
,
:json
)
else
dashboard_labels_path
(
:json
)
...
...
app/helpers/milestones_helper.rb
浏览文件 @
49bc1cd6
...
...
@@ -48,7 +48,7 @@ module MilestonesHelper
def
milestones_filter_dropdown_path
project
=
@target_project
||
@project
if
@
project
if
project
namespace_project_milestones_path
(
project
.
namespace
,
project
,
:json
)
else
dashboard_milestones_path
(
:json
)
...
...
app/views/shared/issuable/_label_dropdown.html.haml
浏览文件 @
49bc1cd6
...
...
@@ -22,7 +22,7 @@
-
selected
.
each
do
|
label
|
-
id
=
label
.
try
(
:id
)
||
label
-
title
=
label
.
try
(
:title
)
||
label
=
hidden_field_tag
data_options
[
:field_name
],
useId
?
id
:
title
,
id:
nil
,
data:
{
title:
title
}
=
hidden_field_tag
data_options
[
:field_name
],
useId
?
id
:
title
,
id:
nil
.dropdown
%button
.dropdown-menu-toggle.js-label-select.js-multiselect
{
class:
classes
.
join
(
' '
),
type:
"button"
,
data:
dropdown_data
}
%span
.dropdown-toggle-text
{
class:
(
"is-default"
if
selected
.
nil?
||
selected
.
to_a
.
size
==
0
)
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录