Merge pull request #2434 from aignatov-bio/ai-sci-4352-inventory-item-is-not-saved-in-case-of-empty-dropdown

Prevent create empty dropdown in inventories [SCI-4352]
This commit is contained in:
Miha Mencin 2020-03-10 12:35:00 +01:00 committed by GitHub
commit 9836a8b5a2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 5 deletions

View file

@ -506,7 +506,7 @@ var dropdownSelector = (function() {
container.find('.dropdown-group, .dropdown-option, .empty-dropdown, .delimiter').remove(); container.find('.dropdown-group, .dropdown-option, .empty-dropdown, .delimiter').remove();
if (!data) return; if (!data) return;
if (data.length > 0) { if (data.length > 0 && !(data.length === 1 && data[0].value === '')) {
// If we use select-by-group option we need first draw groups // If we use select-by-group option we need first draw groups
if (selector.data('select-by-group')) { if (selector.data('select-by-group')) {
$.each(data, function(gi, group) { $.each(data, function(gi, group) {
@ -741,14 +741,14 @@ var dropdownSelector = (function() {
ajaxParams = customParams ? customParams(defaultParams) : defaultParams; ajaxParams = customParams ? customParams(defaultParams) : defaultParams;
$.get(selector.data('ajax-url'), ajaxParams, (data) => { $.get(selector.data('ajax-url'), ajaxParams, (data) => {
var optionsAjax = data; var optionsAjax = data.constructor === Array ? data : [];
if (selector.data('config').emptyOptionAjax) { if (selector.data('config').emptyOptionAjax) {
optionsAjax = [{ optionsAjax = [{
label: '', label: selector.data('placeholder') || '',
value: '', value: '',
group: null, group: null,
params: {} params: {}
}].concat(data); }].concat(optionsAjax);
} }
loadData(selector, container, optionsAjax); loadData(selector, container, optionsAjax);
PerfectSb().update_all(); PerfectSb().update_all();

View file

@ -163,9 +163,14 @@
background: $color-concrete; background: $color-concrete;
} }
&[data-value=""] {
opacity: .7;
}
&.select { &.select {
background: $brand-primary; background: $brand-primary;
color: $color-white; color: $color-white;
opacity: 1;
} }
} }
@ -267,6 +272,10 @@
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
&[data-ds-tag-id=""] {
opacity: .7;
}
} }
.fa-times { .fa-times {

View file

@ -31,7 +31,7 @@
</div> </div>
</div> </div>
<div class="col-sm-9"> <div class="col-sm-9">
<%= text_area_tag 'items-textarea', column.repository_list_items.pluck(:data).join(selected_delimiter_char), rows: 10, class: 'form-control items-textarea' %> <%= text_area_tag 'items-textarea', column.repository_list_items.pluck(:data).join(selected_delimiter_char), rows: 10, class: 'form-control items-textarea', name: "repository_column[repository_list_items]" %>
<% unless column.new_record? %> <% unless column.new_record? %>
<div class="bg-danger hidden changing-existing-list-items-warning"> <div class="bg-danger hidden changing-existing-list-items-warning">
<%= t('libraries.manange_modal_column.change_multi_select_items_warning') %> <%= t('libraries.manange_modal_column.change_multi_select_items_warning') %>