Adjust settings to conform to select2 v4

This commit is contained in:
junyi 2026-08-24 04:33:43 +00:00
parent 5d904a220d
commit 75c10735e6
2 changed files with 14 additions and 13 deletions

View File

@ -316,8 +316,11 @@ end
params.require(:u_table).permit!
end
def table_entry_params
params.require(:table_entry).permit!
def table_entry_params
p = params.require(:table_entry).permit!
if p[:related_entries].is_a?(Array)
p[:related_entries] = p[:related_entries].reject(&:blank?).join(",")
end
p
end
end

View File

@ -34,7 +34,7 @@
<div class="control-group">
<label class="control-label"><%= t("universal_table.related_entries") %></label>
<div class="controls">
<%= f.text_field :related_entries, :class => "select2", data: { value: tbData } %>
<%= f.select :related_entries, options_for_select(tbData.map { |d| [d[:text], d[:id]] }, tbData.map { |d| d[:id] }), {}, { multiple: "multiple", class: "select2" } %>
</div>
</div>
<% @columns.each_with_index do |column, index| %>
@ -72,7 +72,6 @@ $("#universal_table_tags").select2({
});
$("#universal_table_tags").val(<%= raw(@entry.table_tags. collect { |tag| tag.id.to_s }) %>).trigger("change");
const preselectedData = $("#table_entry_related_entries").data('value');
var select2Options = {
maximumSelectionSize: 10,
minimumResultsForSearch: Infinity,
@ -86,27 +85,26 @@ $("#universal_table_tags").select2({
allowClear: false,
dataType: 'json',
delay: 250,
data: function (term) {
return { q: term };
data: function (params) {
return { q: params.term };
},
results: function(data, page) {
processResults: function(data, params) {
return {
results: data
};
},
cache: false
},
formatResult: function(i) {
templateResult: function(i) {
return '<div>' + i.text + '</div>';
},
formatSelection: function(i) {
templateSelection: function(i) {
return '<div>' + i.text + '</div>';
},
},
escapeMarkup: function(m) {
return m;
}
}
$("#table_entry_related_entries").select2(select2Options);
$("#table_entry_related_entries").select2('data', preselectedData);
</script>
</script>