From 652c99d04a49238948d828f3a719191b07bfb167 Mon Sep 17 00:00:00 2001 From: Marco 'Lubber' Wienkoop Date: Mon, 3 Dec 2018 10:22:27 +0100 Subject: [PATCH] fix(dropdown): fix select always showing remove icon Closes #271 --- src/definitions/modules/dropdown.js | 13 ++++++++++++- src/definitions/modules/dropdown.less | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/definitions/modules/dropdown.js b/src/definitions/modules/dropdown.js index 2f7200ca4e..aae2fbe82a 100644 --- a/src/definitions/modules/dropdown.js +++ b/src/definitions/modules/dropdown.js @@ -2146,6 +2146,11 @@ $.fn.dropdown = function(parameters) { else { module.set.selected(); } + if(module.get.item()) { + $input.removeClass(className.noselection); + } else { + $input.addClass(className.noselection); + } module.remove.initialLoad(); }, remoteValues: function() { @@ -2514,6 +2519,11 @@ $.fn.dropdown = function(parameters) { $element.addClass(className.leftward); }, value: function(value, text, $selected) { + if(value !== undefined && value !== '' && !(Array.isArray(value) && value.length === 0)) { + $input.removeClass(className.noselection); + } else { + $input.addClass(className.noselection); + } var escapedValue = module.escape.value(value), hasInput = ($input.length > 0), @@ -3945,7 +3955,8 @@ $.fn.dropdown.settings = { upward : 'upward', leftward : 'left', visible : 'visible', - clearable : 'clearable' + clearable : 'clearable', + noselection : 'noselection' } }; diff --git a/src/definitions/modules/dropdown.less b/src/definitions/modules/dropdown.less index b8cab279e2..73492fc0d0 100755 --- a/src/definitions/modules/dropdown.less +++ b/src/definitions/modules/dropdown.less @@ -632,6 +632,7 @@ select.ui.dropdown { /* Clearable Selection */ .ui.dropdown .remove.icon { + cursor: pointer; font-size: @dropdownIconSize; margin: @selectionIconMargin; padding: @selectionIconPadding; @@ -647,6 +648,7 @@ select.ui.dropdown { margin-right: 1.5em; } +.ui.dropdown select.noselection ~ .remove.icon, .ui.dropdown input[value=''] ~ .remove.icon, .ui.dropdown input:not([value]) ~ .remove.icon, .ui.dropdown.loading .remove.icon {