Prevent create empty dropdown in inventories

This commit is contained in:
aignatov-bio 2020-02-27 13:10:00 +01:00
parent bf1fac0b10
commit b2580c1704
4 changed files with 17 additions and 5 deletions

View file

@ -506,7 +506,7 @@ var dropdownSelector = (function() {
container.find('.dropdown-group, .dropdown-option, .empty-dropdown, .delimiter').remove();
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 (selector.data('select-by-group')) {
$.each(data, function(gi, group) {
@ -741,14 +741,14 @@ var dropdownSelector = (function() {
ajaxParams = customParams ? customParams(defaultParams) : defaultParams;
$.get(selector.data('ajax-url'), ajaxParams, (data) => {
var optionsAjax = data;
var optionsAjax = data.constructor === Array ? data : [];
if (selector.data('config').emptyOptionAjax) {
optionsAjax = [{
label: '',
label: selector.data('placeholder') || '',
value: '',
group: null,
params: {}
}].concat(data);
}].concat(optionsAjax);
}
loadData(selector, container, optionsAjax);
PerfectSb().update_all();

View file

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

View file

@ -27,6 +27,9 @@ class RepositoryColumn < ApplicationRecord
uniqueness: { scope: :repository_id, case_sensitive: true }
validates :name, :data_type, :repository, :created_by, presence: true
validates :repository_list_items, presence: { if: proc { |collumn| collumn.data_type == 'RepositoryListValue' } }
validates :repository_status_items, presence: { if: proc { |collumn| collumn.data_type == 'RepositoryStatusValue' } }
after_create :update_repository_table_states_with_new_column
around_destroy :update_repository_table_states_with_removed_column

View file

@ -31,7 +31,7 @@
</div>
</div>
<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? %>
<div class="bg-danger hidden changing-existing-list-items-warning">
<%= t('libraries.manange_modal_column.change_multi_select_items_warning') %>