diff --git a/app/assets/javascripts/repositories/renderers/columns/list.js b/app/assets/javascripts/repositories/renderers/columns/list.js index 9fbbe47c1..db39d8a5b 100644 --- a/app/assets/javascripts/repositories/renderers/columns/list.js +++ b/app/assets/javascripts/repositories/renderers/columns/list.js @@ -33,6 +33,7 @@ var ListColumnHelper = (function() { singleSelect: true, selectAppearance: 'simple', closeOnSelect: true, + emptyOptionAjax: true, onChange: function() { var values = dropdownSelector.getValues('#' + select); $hiddenField.val(values); diff --git a/app/assets/javascripts/repositories/renderers/columns/status.js b/app/assets/javascripts/repositories/renderers/columns/status.js index 16928d61a..8b359fdb8 100644 --- a/app/assets/javascripts/repositories/renderers/columns/status.js +++ b/app/assets/javascripts/repositories/renderers/columns/status.js @@ -34,6 +34,7 @@ var StatusColumnHelper = (function() { singleSelect: true, selectAppearance: 'simple', closeOnSelect: true, + emptyOptionAjax: true, onChange: () => { var values = dropdownSelector.getValues('#' + select); $hiddenField.val(values); diff --git a/app/assets/javascripts/sitewide/dropdown_selector.js b/app/assets/javascripts/sitewide/dropdown_selector.js index 1c29b1450..f480a2214 100644 --- a/app/assets/javascripts/sitewide/dropdown_selector.js +++ b/app/assets/javascripts/sitewide/dropdown_selector.js @@ -41,6 +41,7 @@ selectAppearance: string, // 'tag' or 'simple'. Default 'tag' closeOnSelect: boolean, // Close dropdown after select disableSearch: boolean, // Disable search + emptyOptionAjax: boolean, // Add empty option for ajax request } @@ -730,7 +731,16 @@ var dropdownSelector = (function() { ajaxParams = customParams ? customParams(defaultParams) : defaultParams; $.get(selector.data('ajax-url'), ajaxParams, (data) => { - loadData(selector, container, data); + var optionsAjax = data; + if (selector.data('config').emptyOptionAjax) { + optionsAjax = [{ + label: '', + value: '', + group: null, + params: {} + }].concat(data); + } + loadData(selector, container, optionsAjax); PerfectSb().update_all(); }); // For local options we convert options element from select to correct array