Changed colour of no matching results bg
Highlights first row when filtering
This commit is contained in:
parent
4c5babd94b
commit
fee01133ea
3 changed files with 22 additions and 5 deletions
|
@ -2,8 +2,7 @@ class GitLabDropdownFilter
|
||||||
BLUR_KEYCODES = [27, 40]
|
BLUR_KEYCODES = [27, 40]
|
||||||
HAS_VALUE_CLASS = "has-value"
|
HAS_VALUE_CLASS = "has-value"
|
||||||
|
|
||||||
constructor: (@dropdown, @options) ->
|
constructor: (@input, @options) ->
|
||||||
@input = @dropdown.find('.dropdown-input .dropdown-input-field')
|
|
||||||
$inputContainer = @input.parent()
|
$inputContainer = @input.parent()
|
||||||
$clearButton = $inputContainer.find('.js-dropdown-input-clear')
|
$clearButton = $inputContainer.find('.js-dropdown-input-clear')
|
||||||
|
|
||||||
|
@ -112,7 +111,9 @@ class GitLabDropdown
|
||||||
|
|
||||||
# Init filiterable
|
# Init filiterable
|
||||||
if @options.filterable
|
if @options.filterable
|
||||||
@filter = new GitLabDropdownFilter @dropdown,
|
@input = @dropdown.find('.dropdown-input .dropdown-input-field')
|
||||||
|
|
||||||
|
@filter = new GitLabDropdownFilter @input,
|
||||||
remote: @options.filterRemote
|
remote: @options.filterRemote
|
||||||
query: @options.data
|
query: @options.data
|
||||||
keys: @options.search.fields
|
keys: @options.search.fields
|
||||||
|
@ -120,6 +121,7 @@ class GitLabDropdown
|
||||||
return @fullData
|
return @fullData
|
||||||
callback: (data) =>
|
callback: (data) =>
|
||||||
@parseData data
|
@parseData data
|
||||||
|
@highlightRow 1
|
||||||
enterCallback: =>
|
enterCallback: =>
|
||||||
@selectFirstRow()
|
@selectFirstRow()
|
||||||
|
|
||||||
|
@ -241,11 +243,19 @@ class GitLabDropdown
|
||||||
|
|
||||||
noResults: ->
|
noResults: ->
|
||||||
html = "<li>"
|
html = "<li>"
|
||||||
html += "<a href='#' class='is-focused'>"
|
html += "<a href='#' class='dropdown-menu-empty-link is-focused'>"
|
||||||
html += "No matching results."
|
html += "No matching results."
|
||||||
html += "</a>"
|
html += "</a>"
|
||||||
html += "</li>"
|
html += "</li>"
|
||||||
|
|
||||||
|
highlightRow: (index) ->
|
||||||
|
if @input.val() isnt ""
|
||||||
|
selector = '.dropdown-content li:first-child a'
|
||||||
|
if @dropdown.find(".dropdown-toggle-page").length
|
||||||
|
selector = ".dropdown-page-one .dropdown-content li:first-child a"
|
||||||
|
|
||||||
|
$(selector).addClass 'is-focused'
|
||||||
|
|
||||||
rowClicked: (el) ->
|
rowClicked: (el) ->
|
||||||
fieldName = @options.fieldName
|
fieldName = @options.fieldName
|
||||||
field = @dropdown.parent().find("input[name='#{fieldName}']")
|
field = @dropdown.parent().find("input[name='#{fieldName}']")
|
||||||
|
@ -289,7 +299,7 @@ class GitLabDropdown
|
||||||
if @dropdown.find(".dropdown-toggle-page").length
|
if @dropdown.find(".dropdown-toggle-page").length
|
||||||
selector = ".dropdown-page-one .dropdown-content li:first-child a"
|
selector = ".dropdown-page-one .dropdown-content li:first-child a"
|
||||||
|
|
||||||
# similute a click on the first link
|
# simulate a click on the first link
|
||||||
$(selector).trigger "click"
|
$(selector).trigger "click"
|
||||||
|
|
||||||
$.fn.glDropdown = (opts) ->
|
$.fn.glDropdown = (opts) ->
|
||||||
|
|
|
@ -130,6 +130,12 @@
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
outline: 0;
|
outline: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.dropdown-menu-empty-link {
|
||||||
|
&.is-focused {
|
||||||
|
background-color: $dropdown-empty-row-bg;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -169,6 +169,7 @@ $regular_font: 'Source Sans Pro', "Helvetica Neue", Helvetica, Arial, sans-serif
|
||||||
$dropdown-bg: #fff;
|
$dropdown-bg: #fff;
|
||||||
$dropdown-link-color: #555;
|
$dropdown-link-color: #555;
|
||||||
$dropdown-link-hover-bg: $row-hover;
|
$dropdown-link-hover-bg: $row-hover;
|
||||||
|
$dropdown-empty-row-bg: rgba(#000, .04);
|
||||||
$dropdown-border-color: rgba(#000, .1);
|
$dropdown-border-color: rgba(#000, .1);
|
||||||
$dropdown-shadow-color: rgba(#000, .1);
|
$dropdown-shadow-color: rgba(#000, .1);
|
||||||
$dropdown-divider-color: rgba(#000, .1);
|
$dropdown-divider-color: rgba(#000, .1);
|
||||||
|
|
Loading…
Reference in a new issue