Открыть боковую панель
nt_test133
nt_project_uxpg8lvcuq8w
Коммиты
49e91c07
Коммит
49e91c07
создал
Июл 15, 2016
по автору
Alfredo Sumaran
Просмотр файлов
Fixes label when unselecting an item from dropdown list
владелец
9bbbad6c
Изменения
2
Скрыть пробелы
Построчно
Рядом
app/assets/javascripts/gl_dropdown.js.coffee
Просмотр файла @
49e91c07
...
...
@@ -511,9 +511,6 @@ class GitLabDropdown
# Toggle active class for the tick mark
el
.
addClass
ACTIVE_CLASS
# Toggle the dropdown label
if
@
options
.
toggleLabel
@
updateLabel
(
selectedObject
,
el
,
@
)
if
value
?
if
!
field
.
length
and
fieldName
@
addInput
(
fieldName
,
value
)
...
...
@@ -522,6 +519,10 @@ class GitLabDropdown
.
val
value
.
trigger
'change'
# Toggle the dropdown label
if
@
options
.
toggleLabel
@
updateLabel
(
selectedObject
,
el
,
@
)
return
selectedObject
addInput
:
(
fieldName
,
value
)
->
...
...
app/assets/javascripts/labels_select.js.coffee
Просмотр файла @
49e91c07
...
...
@@ -272,21 +272,58 @@ class @LabelsSelect
fields
:
[
'title'
]
selectable
:
true
filterable
:
true
toggleLabel
:
(
selected
,
el
)
->
selected_labels
=
$
(
'.js-label-select'
).
siblings
(
'.dropdown-menu-labels'
).
find
(
'.is-active'
)
if
selected
and
selected
.
title
?
if
selected_labels
.
length
>
1
"
#{
selected
.
title
}
+
#{
selected_labels
.
length
-
1
}
more"
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
]
# We are removing a label
if
numberSelectedLabels
is
1
firstLabel
else
if
numberSelectedLabels
>
1
"
#{
firstLabel
}
+
#{
numberSelectedLabels
-
1
}
more"
else
selected
.
title
else
if
not
selected
and
selected_labels
.
length
isnt
0
if
selected_labels
.
length
>
1
"
#{
$
(
selected_labels
[
0
]).
text
()
}
+
#{
selected_labels
.
length
-
1
}
more"
else
if
selected_labels
.
length
is
1
$
(
selected_labels
).
text
()
defaultLabel
# when clicking on a dropdown option
else
defaultLabel
if
glDropdownInstance
?
$dropdownParent
=
glDropdownInstance
.
dropdown
.
closest
'.issuable-form-select-holder, .labels-filter'
else
$dropdownParent
=
$
()
$labelInputs
=
$dropdownParent
.
find
"input[name='
#{
@
fieldName
}
']"
# Find the label by its attribute according the dropdown settings
if
$dropdown
.
hasClass
'js-issuable-form-dropdown'
# When settings labels to a issuable we find the label for its ID
whereQuery
=
{
id
:
parseInt
$labelInputs
.
first
().
val
()
}
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 when filtering 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"
# else we are removing a label
else
if
numberSelectedLabels
is
1
firstLabel
.
title
else
if
numberSelectedLabels
>
1
"
#{
firstLabel
.
title
}
+
#{
numberSelectedLabels
-
1
}
more"
else
defaultLabel
fieldName
:
$dropdown
.
data
(
'field-name'
)
id
:
(
label
)
->
if
$dropdown
.
hasClass
(
'js-issuable-form-dropdown'
)
...
...
Редактирование
Предварительный просмотр
Поддерживает Markdown
0%
Попробовать снова
или
прикрепить новый файл
.
Отмена
You are about to add
0
people
to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать