Skip to content

Commit ee478bc

Browse files
committed
improve display values for nav item and page select field options
1 parent 4f4ab39 commit ee478bc

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

app/models/better_together/navigation_item.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,10 @@ def linkable_id=(arg)
138138
super
139139
end
140140

141+
def select_option_title
142+
"#{title} (#{slug})"
143+
end
144+
141145
def set_position
142146
return read_attribute(:position) if persisted? || read_attribute(:position).present?
143147

app/models/better_together/page.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ def published?
7272
published_at.present? && published_at < Time.zone.now
7373
end
7474

75+
def select_option_title
76+
"#{title} (#{slug})"
77+
end
78+
7579
def to_s
7680
title
7781
end

app/views/better_together/navigation_items/_form.html.erb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
<div class="mb-3">
3434
<%= form.label :parent_id, 'Parent Item' %>
35-
<%= form.collection_select :parent_id, BetterTogether::NavigationItem.where.not(id: @navigation_item.id), :id, :title, { include_blank: true }, { class: 'form-select' + (@navigation_item.errors[:parent_id].any? ? ' is-invalid' : '') } %>
35+
<%= form.collection_select :parent_id, BetterTogether::NavigationItem.where.not(id: @navigation_item.id), :id, :select_option_title, { include_blank: true }, { class: 'form-select' + (@navigation_item.errors[:parent_id].any? ? ' is-invalid' : ''), data: { controller: "better_together--slim-select" } } %>
3636
<% if @navigation_item.errors[:parent_id].any? %>
3737
<div class="invalid-feedback">
3838
<%= @navigation_item.errors[:parent_id].join(", ") %>
@@ -53,7 +53,7 @@
5353
<!-- Control field for linkable_id -->
5454
<div class="bt-mb-3" data-better_together--dependent-fields-target="dependentField" data-dependent-fields-control="navigation_item_route_name" data-show-if-control_navigation_item_route_name="*not_present*">
5555
<%= form.label :linkable_id, 'Link to Page' %>
56-
<%= form.collection_select :linkable_id, @pages, :id, :title, { include_blank: true }, { class: ('form-select' + (@navigation_item.errors[:linkable_id].any? ? ' is-invalid' : '')), data: { controller: "better_together--slim-select" }, 'data-better_together--dependent-fields-target' => "controlField" } %>
56+
<%= form.collection_select :linkable_id, @pages, :id, :select_option_title, { include_blank: true }, { class: ('form-select' + (@navigation_item.errors[:linkable_id].any? ? ' is-invalid' : '')), data: { controller: "better_together--slim-select" }, 'data-better_together--dependent-fields-target' => "controlField" } %>
5757
<% if @navigation_item.errors[:linkable_id].any? %>
5858
<div class="invalid-feedback">
5959
<%= @navigation_item.errors[:linkable_id].join(", ") %>
@@ -70,7 +70,7 @@
7070
<!-- Dependent field 2 (shown when no value is present) -->
7171
<div id="nav-item-route-name" class="bt-mb-3" data-better_together--dependent-fields-target="dependentField" data-dependent-fields-control="navigation_item_linkable_id" data-show-if-control_navigation_item_linkable_id="*not_present*">
7272
<%= form.label :route_name, "Dynamic Route" %>
73-
<%= form.select :route_name, route_names_for_select(@navigation_item), { include_blank: true }, { class: 'form-select', 'data-better_together--dependent-fields-target' => "controlField" } %>
73+
<%= form.select :route_name, route_names_for_select(@navigation_item), { include_blank: true }, { class: 'form-select', 'data-better_together--dependent-fields-target' => "controlField", data: { controller: "better_together--slim-select" } } %>
7474
<% if @navigation_item.errors[:linkable_id].any? %>
7575
<div class="invalid-feedback">
7676
<%= @navigation_item.errors[:linkable_id].join(", ") %>

0 commit comments

Comments
 (0)