Fix dropdrown selector

This commit is contained in:
aignatov-bio 2020-08-12 13:54:05 +02:00
parent 81941fae5a
commit 5360db76be
2 changed files with 27 additions and 7 deletions

View file

@ -179,8 +179,19 @@ var dropdownSelector = (function() {
}
// Add selected option to value
function addSelectedOption(selector, container) {
setData(selector, [convertOptionToJson($(selector).find('option:selected')[0])], true);
function addSelectedOptions(selector, container) {
var selectedOptions = [];
var optionSelector = selector.data('config').noEmptyOption ? 'option:selected' : 'option[data-selected=true]';
$.each($(selector).find(optionSelector), function(i, option) {
selectedOptions.push(convertOptionToJson(option));
if (selector.data('config').singleSelect) return false;
return true;
});
if (!selectedOptions.length) return false;
setData(selector, selectedOptions, true);
return true;
}
// Prepare custom dropdown icon
@ -422,7 +433,7 @@ var dropdownSelector = (function() {
}
// Select default value
if (config.noEmptyOption && config.singleSelect) {
if (!selectElement.data('ajax-url')) {
addSelectedOption(selectElement, dropdownContainer);
}

View file

@ -20,9 +20,18 @@
</div>
<div class="select-block">
<label><%= t("dashboard.current_tasks.filter.display") %></label>
<select class="view-filter">
<option value="uncompleted" ><%= t("dashboard.current_tasks.filter.uncompleted_tasks") %></option>
<option value="completed" ><%= t("dashboard.current_tasks.filter.completed_tasks") %></option>
<select class="view-filter"
data-combine-tags="true"
data-placeholder="<%= t("dashboard.current_tasks.filter.statuses.placeholder") %>"
data-select-multiple-all-selected="<%= t("dashboard.current_tasks.filter.statuses.all_selected") %>"
data-select-multiple-name="<%= t("dashboard.current_tasks.filter.statuses.selected") %>"
multiple
>
<% MyModuleStatusFlow.find_each do |status_flow| %>
<% status_flow.my_module_statuses.each do |status| %>
<option value="<%= status.id %>" <%= 'data-selected=true' unless status.final_status? %> ><%= status.name %></option>
<% end %>
<% end %>
</select>
</div>
<div class="select-block">
@ -80,4 +89,4 @@
<div class="widget-placeholder">
<p class="widget-placeholder-title"><%= I18n.t('dashboard.current_tasks.no_tasks.search_result.title') %></p>
</div>
</template>
</template>