summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2016-03-08 15:18:01 +0000
committerPhil Hughes <me@iamphill.com>2016-03-10 13:54:54 +0000
commit7744b67f7518727dceb83682402772432870cdab (patch)
tree73e5584c572cff2aebe4f94c75be0b90d8558031
parentdd35de1ad8e6ff8436552666d3f9f9bec0a309d9 (diff)
downloadgitlab-ce-7744b67f7518727dceb83682402772432870cdab.tar.gz
Stops excute remote data fetcher when already recieved data
-rw-r--r--app/assets/javascripts/gl_dropdown.js.coffee3
-rw-r--r--app/assets/javascripts/labels_select.js.coffee18
-rw-r--r--app/views/shared/issuable/_filter.html.haml2
3 files changed, 20 insertions, 3 deletions
diff --git a/app/assets/javascripts/gl_dropdown.js.coffee b/app/assets/javascripts/gl_dropdown.js.coffee
index a714ba3d675..591e0b6f41d 100644
--- a/app/assets/javascripts/gl_dropdown.js.coffee
+++ b/app/assets/javascripts/gl_dropdown.js.coffee
@@ -148,7 +148,8 @@ class GitLabDropdown
@appendMenu(full_html)
opened: =>
- if @remote
+ contentHtml = $('.dropdown-content', @dropdown).html()
+ if @remote && contentHtml is ""
@remote.execute()
if @options.filterable
diff --git a/app/assets/javascripts/labels_select.js.coffee b/app/assets/javascripts/labels_select.js.coffee
index 14ee529ba35..b4708f6537a 100644
--- a/app/assets/javascripts/labels_select.js.coffee
+++ b/app/assets/javascripts/labels_select.js.coffee
@@ -6,6 +6,8 @@ class @LabelsSelect
selectedLabel = $(dropdown).data('selected')
newLabelField = $('#new_label_name')
newColorField = $('#new_label_color')
+ showNo = $(dropdown).data('show-no')
+ showAny = $(dropdown).data('show-any')
if newLabelField.length
$('.suggest-colors-dropdown a').on "click", (e) ->
@@ -45,6 +47,20 @@ class @LabelsSelect
title: $(@).text().trim()
)
+ if showNo
+ data.unshift(
+ id: "0"
+ title: 'No label'
+ )
+
+ if showAny
+ data.unshift(
+ title: 'Any label'
+ )
+
+ if data.length > 2
+ data.splice 2, 0, "divider"
+
callback data
renderRow: (label) ->
selected = if label.title is selectedLabel then "is-active" else ""
@@ -56,7 +72,7 @@ class @LabelsSelect
</li>"
filterable: true
search:
- fields: ['name']
+ fields: ['title']
selectable: true
fieldName: $(dropdown).data('field-name')
id: (label) ->
diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml
index 0e023a68095..d7db2ed6e5f 100644
--- a/app/views/shared/issuable/_filter.html.haml
+++ b/app/views/shared/issuable/_filter.html.haml
@@ -39,7 +39,7 @@
- if params[:label_name]
= hidden_field_tag(:label_name, params[:label_name])
.dropdown
- %button.dropdown-menu-toggle.js-label-select.js-filter-submit{type: "button", data: {toggle: "dropdown", field_name: "label_name", selected: params[:label_name], project_id: @project.id, labels: namespace_project_labels_path(@project.namespace, @project, :js)}}
+ %button.dropdown-menu-toggle.js-label-select.js-filter-submit{type: "button", data: {toggle: "dropdown", field_name: "label_name", show_no: "true", show_any: "true", selected: params[:label_name], project_id: @project.id, labels: namespace_project_labels_path(@project.namespace, @project, :js)}}
%span.dropdown-toggle-text
Label
= icon('chevron-down')