Bootstrap 5: Replace all form-group classes with mb-3

This commit is contained in:
Andy Allan 2022-06-29 17:14:10 +01:00
parent e80d74ae73
commit 934d81aa55
18 changed files with 43 additions and 43 deletions

View file

@ -47,7 +47,7 @@ L.OSM.share = function (options) {
.appendTo($linkSection); .appendTo($linkSection);
$("<div>") $("<div>")
.attr("class", "form-check form-group") .attr("class", "form-check mb-3")
.appendTo($form) .appendTo($form)
.append( .append(
$("<label>") $("<label>")
@ -159,7 +159,7 @@ L.OSM.share = function (options) {
.appendTo($imageSection); .appendTo($imageSection);
$("<div>") $("<div>")
.attr("class", "form-group form-check") .attr("class", "mb-3 form-check")
.appendTo($form) .appendTo($form)
.append( .append(
$("<label>") $("<label>")

View file

@ -16,7 +16,7 @@
<%= f.password_field :pass_crypt, :value => "", :autocomplete => "new-password" %> <%= f.password_field :pass_crypt, :value => "", :autocomplete => "new-password" %>
<%= f.password_field :pass_crypt_confirmation, :value => "", :autocomplete => "new-password" %> <%= f.password_field :pass_crypt_confirmation, :value => "", :autocomplete => "new-password" %>
<fieldset class="form-group"> <fieldset class="mb-3">
<label for="user_auth_provider" class="form-label"><%= t(".external auth") %></label> <label for="user_auth_provider" class="form-label"><%= t(".external auth") %></label>
<div class="row"> <div class="row">
<%= f.select(:auth_provider, Auth.providers, :hide_label => true, :wrapper => { :class => "col-auto mb-0" }) %> <%= f.select(:auth_provider, Auth.providers, :hide_label => true, :wrapper => { :class => "col-auto mb-0" }) %>
@ -25,7 +25,7 @@
<small class="form-text text-muted">(<a href="<%= t ".openid.link" %>" target="_new"><%= t ".openid.link text" %></a>)</small> <small class="form-text text-muted">(<a href="<%= t ".openid.link" %>" target="_new"><%= t ".openid.link text" %></a>)</small>
</fieldset> </fieldset>
<div class="form-group"> <div class="mb-3">
<label class="form-label"><%= t ".public editing.heading" %></label> <label class="form-label"><%= t ".public editing.heading" %></label>
<span class="form-text text-muted"> <span class="form-text text-muted">
<% if current_user.data_public? %> <% if current_user.data_public? %>
@ -38,7 +38,7 @@
</span> </span>
</div> </div>
<div class="form-group"> <div class="mb-3">
<label class="form-label"><%= t ".contributor terms.heading" %></label> <label class="form-label"><%= t ".contributor terms.heading" %></label>
<span class="form-text text-muted"> <span class="form-text text-muted">
<% if current_user.terms_agreed? %> <% if current_user.terms_agreed? %>

View file

@ -75,7 +75,7 @@
<% if current_user %> <% if current_user %>
<% unless @changeset.open? %> <% unless @changeset.open? %>
<form action="#" class="mb-3"> <form action="#" class="mb-3">
<div class="form-group"> <div class="mb-3">
<textarea class="form-control" name="text" cols="40" rows="5"></textarea> <textarea class="form-control" name="text" cols="40" rows="5"></textarea>
</div> </div>
<div> <div>

View file

@ -7,7 +7,7 @@
<form action="#"> <form action="#">
<input type="hidden" name="lon" autocomplete="off"> <input type="hidden" name="lon" autocomplete="off">
<input type="hidden" name="lat" autocomplete="off"> <input type="hidden" name="lat" autocomplete="off">
<div class="form-group"> <div class="mb-3">
<textarea class="form-control" name="text" cols="40" rows="10" maxlength="2000" placeholder="<%= t("javascripts.notes.new.advice") %>"></textarea> <textarea class="form-control" name="text" cols="40" rows="10" maxlength="2000" placeholder="<%= t("javascripts.notes.new.advice") %>"></textarea>
</div> </div>
<div class="buttons clearfix"> <div class="buttons clearfix">

View file

@ -48,7 +48,7 @@
<% if @note.status == "open" %> <% if @note.status == "open" %>
<% if current_user -%> <% if current_user -%>
<form action="#"> <form action="#">
<div class="form-group"> <div class="mb-3">
<textarea class="form-control" name="text" cols="40" rows="5" maxlength="2000"></textarea> <textarea class="form-control" name="text" cols="40" rows="5" maxlength="2000"></textarea>
</div> </div>
<div class="btn-wrapper"> <div class="btn-wrapper">

View file

@ -6,35 +6,35 @@
<%= form_tag(issues_path, :method => :get) do %> <%= form_tag(issues_path, :method => :get) do %>
<div class="row gx-1"> <div class="row gx-1">
<div class="form-group col-md-auto"> <div class="mb-3 col-md-auto">
<%= select_tag :status, <%= select_tag :status,
options_for_select(Issue.aasm.states.map(&:name).map { |state| [t(".states.#{state}"), state] }, params[:status]), options_for_select(Issue.aasm.states.map(&:name).map { |state| [t(".states.#{state}"), state] }, params[:status]),
:include_blank => t(".select_status"), :include_blank => t(".select_status"),
:data => { :behavior => "category_dropdown" }, :data => { :behavior => "category_dropdown" },
:class => "form-select" %> :class => "form-select" %>
</div> </div>
<div class="form-group col-md-auto"> <div class="mb-3 col-md-auto">
<%= select_tag :issue_type, <%= select_tag :issue_type,
options_for_select(@issue_types, params[:issue_type]), options_for_select(@issue_types, params[:issue_type]),
:include_blank => t(".select_type"), :include_blank => t(".select_type"),
:data => { :behavior => "category_dropdown" }, :data => { :behavior => "category_dropdown" },
:class => "form-select" %> :class => "form-select" %>
</div> </div>
<div class="form-group col-md"> <div class="mb-3 col-md">
<%= text_field_tag :search_by_user, <%= text_field_tag :search_by_user,
params[:search_by_user], params[:search_by_user],
:placeholder => t(".reported_user"), :placeholder => t(".reported_user"),
:autocomplete => "on", :autocomplete => "on",
:class => "form-control" %> :class => "form-control" %>
</div> </div>
<div class="form-group col-md-auto"> <div class="mb-3 col-md-auto">
<%= select_tag :last_updated_by, <%= select_tag :last_updated_by,
options_for_select(@users.all.collect { |f| [f.display_name, f.id] } << [t(".not_updated"), "nil"], params[:last_updated_by]), options_for_select(@users.all.collect { |f| [f.display_name, f.id] } << [t(".not_updated"), "nil"], params[:last_updated_by]),
:include_blank => t(".select_last_updated_by"), :include_blank => t(".select_last_updated_by"),
:data => { :behavior => "category_dropdown" }, :data => { :behavior => "category_dropdown" },
:class => "form-select" %> :class => "form-select" %>
</div> </div>
<div class="form-group col-md-auto"> <div class="mb-3 col-md-auto">
<%= submit_tag t(".search"), :name => nil, :class => "btn btn-primary" %> <%= submit_tag t(".search"), :name => nil, :class => "btn btn-primary" %>
</div> </div>
</div> </div>

View file

@ -2,7 +2,7 @@
<%= f.text_field :url %> <%= f.text_field :url %>
<%= f.text_field :callback_url %> <%= f.text_field :callback_url %>
<%= f.text_field :support_url %> <%= f.text_field :support_url %>
<div class='form-group'> <div class='mb-3'>
<p><%= t ".requests" %></p> <p><%= t ".requests" %></p>
<% ClientApplication.all_permissions.each do |perm| %> <% ClientApplication.all_permissions.each do |perm| %>
<%= f.check_box perm %> <%= f.check_box perm %>

View file

@ -9,7 +9,7 @@
<%= bootstrap_form_for current_user, :url => { :action => :update }, :html => { :multipart => true, :autocomplete => :off } do |f| %> <%= bootstrap_form_for current_user, :url => { :action => :update }, :html => { :multipart => true, :autocomplete => :off } do |f| %>
<%= f.richtext_field :description, :cols => 80, :rows => 20 %> <%= f.richtext_field :description, :cols => 80, :rows => 20 %>
<fieldset class="form-group"> <fieldset class="mb-3">
<%= f.label t(".image") %> <%= f.label t(".image") %>
<div class="row"> <div class="row">
<div class="col-sm-2"> <div class="col-sm-2">

View file

@ -24,7 +24,7 @@
<hr> <hr>
<div id="loginForm"> <div id="loginForm">
<div class="form-group"> <div class="mb-3">
<label class="form-label"><%= t ".with external" %></label> <label class="form-label"><%= t ".with external" %></label>
<ul class='list-unstyled' id="login_auth_buttons"> <ul class='list-unstyled' id="login_auth_buttons">
@ -47,7 +47,7 @@
</ul> </ul>
<%= form_tag(auth_path(:provider => "openid"), :id => "openid_login_form") do %> <%= form_tag(auth_path(:provider => "openid"), :id => "openid_login_form") do %>
<div id='login_openid_url' class="form-group"> <div id='login_openid_url' class="mb-3">
<label for='openid_url' class="form-label"><%= t ".openid_html", :logo => openid_logo %></label> <label for='openid_url' class="form-label"><%= t ".openid_html", :logo => openid_logo %></label>
<%= hidden_field_tag("referer", params[:referer], :autocomplete => "off") %> <%= hidden_field_tag("referer", params[:referer], :autocomplete => "off") %>
<%= text_field_tag("openid_url", "", :tabindex => 3, :autocomplete => "on", :class => "openid_url form-control") %> <%= text_field_tag("openid_url", "", :tabindex => 3, :autocomplete => "on", :class => "openid_url form-control") %>

View file

@ -27,7 +27,7 @@
</div> </div>
<div id="export_commit"> <div id="export_commit">
<div class="form-group d-flex"> <div class="mb-3 d-flex">
<%= submit_tag t(".export_button"), :class => "btn btn-primary mx-auto" %> <%= submit_tag t(".export_button"), :class => "btn btn-primary mx-auto" %>
</div> </div>
</div> </div>

View file

@ -16,7 +16,7 @@
</p> </p>
<%= bootstrap_form_for :revoke, :url => { :action => "revoke" } do |f| %> <%= bootstrap_form_for :revoke, :url => { :action => "revoke" } do |f| %>
<div class="form-group"> <div class="mb-3">
<div class="form-check"> <div class="form-check">
<%= check_box_tag "confirm", "yes", false, { :class => "form-check-input" } %> <%= check_box_tag "confirm", "yes", false, { :class => "form-check-input" } %>
<%= label_tag "confirm", t(".confirm"), { :class => "form-check-label" } %> <%= label_tag "confirm", t(".confirm"), { :class => "form-check-label" } %>

View file

@ -25,7 +25,7 @@
<%= f.text_field :display_name, :help => t(".display name description"), :tabindex => 3 %> <%= f.text_field :display_name, :help => t(".display name description"), :tabindex => 3 %>
<fieldset class="form-group" id="auth_field"> <fieldset class="mb-3" id="auth_field">
<label for="user_auth_provider" class="form-label"><%= t(".external auth") %></label> <label for="user_auth_provider" class="form-label"><%= t(".external auth") %></label>
<div class="row"> <div class="row">
<%= f.select(:auth_provider, Auth.providers, :default => "", :hide_label => true, :wrapper => { :class => "col-auto mb-0" }, :tabindex => 4) %> <%= f.select(:auth_provider, Auth.providers, :default => "", :hide_label => true, :wrapper => { :class => "col-auto mb-0" }, :tabindex => 4) %>

View file

@ -19,7 +19,7 @@
<label class="form-label"> <label class="form-label">
<%= t ".legale_select" %> <%= t ".legale_select" %>
</label> </label>
<div class="form-group"> <div class="mb-3">
<% [%w[france FR], %w[italy IT], %w[rest_of_world GB]].each do |name, legale| %> <% [%w[france FR], %w[italy IT], %w[rest_of_world GB]].each do |name, legale| %>
<div class="form-check form-check-inline"> <div class="form-check form-check-inline">
<%= radio_button_tag "legale", legale, @legale == legale, :data => { :url => url_for(:legale => legale) }, :class => "form-check-input" %> <%= radio_button_tag "legale", legale, @legale == legale, :data => { :url => url_for(:legale => legale) }, :class => "form-check-input" %>
@ -41,7 +41,7 @@
:translations => "https://www.osmfoundation.org/wiki/License/Contributor_Terms/Informal_Translations" %> :translations => "https://www.osmfoundation.org/wiki/License/Contributor_Terms/Informal_Translations" %>
</p> </p>
</div> </div>
<div class="form-group"> <div class="mb-3">
<div class="form-check"> <div class="form-check">
<%= check_box_tag "read_ct", "1", false, :class => "form-check-input" %> <%= check_box_tag "read_ct", "1", false, :class => "form-check-input" %>
<label for="read_ct" class="form-check-label"> <label for="read_ct" class="form-check-label">
@ -55,7 +55,7 @@
</h4> </h4>
<p class="text-muted"><%= t ".tou_explain_html", :tou_link => link_to(t("layouts.tou"), "https://wiki.osmfoundation.org/wiki/Terms_of_Use", :target => :new) %></p> <p class="text-muted"><%= t ".tou_explain_html", :tou_link => link_to(t("layouts.tou"), "https://wiki.osmfoundation.org/wiki/Terms_of_Use", :target => :new) %></p>
<div class="form-group"> <div class="mb-3">
<div class="form-check"> <div class="form-check">
<%= check_box_tag "read_tou", "1", false, :class => "form-check-input" %> <%= check_box_tag "read_tou", "1", false, :class => "form-check-input" %>
<label for="read_tou" class="form-check-label"> <label for="read_tou" class="form-check-label">
@ -66,12 +66,12 @@
<%= hidden_field_tag("referer", h(params[:referer])) unless params[:referer].nil? %> <%= hidden_field_tag("referer", h(params[:referer])) unless params[:referer].nil? %>
<div class="form-group"> <div class="mb-3">
<%= submit_tag("Continue", :name => "continue", :id => "continue", :disabled => true, :class => "btn btn-primary") %> <%= submit_tag("Continue", :name => "continue", :id => "continue", :disabled => true, :class => "btn btn-primary") %>
<%= submit_tag("Cancel", :name => "decline", :id => "decline", :class => "btn btn-outline-secondary") %> <%= submit_tag("Cancel", :name => "decline", :id => "decline", :class => "btn btn-outline-secondary") %>
</div> </div>
<div class="form-group"> <div class="mb-3">
<div class="form-check"> <div class="form-check">
<%= check_box("user", "consider_pd", :class => "form-check-input") %> <%= check_box("user", "consider_pd", :class => "form-check-input") %>
<label for="user_consider_pd" class="form-check-label"> <label for="user_consider_pd" class="form-check-label">

View file

@ -61,7 +61,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
assert_response :success assert_response :success
assert_template :edit assert_template :edit
assert_select ".notice", false assert_select ".notice", false
assert_select "form#accountForm > div.form-group > input.is-invalid#user_display_name" assert_select "form#accountForm > div > input.is-invalid#user_display_name"
# Changing name to one that exists should fail, regardless of case # Changing name to one that exists should fail, regardless of case
new_attributes = user.attributes.dup.merge(:display_name => create(:user).display_name.upcase) new_attributes = user.attributes.dup.merge(:display_name => create(:user).display_name.upcase)
@ -69,7 +69,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
assert_response :success assert_response :success
assert_template :edit assert_template :edit
assert_select ".notice", false assert_select ".notice", false
assert_select "form#accountForm > div.form-group > input.is-invalid#user_display_name" assert_select "form#accountForm > div > input.is-invalid#user_display_name"
# Changing name to one that doesn't exist should work # Changing name to one that doesn't exist should work
new_attributes = user.attributes.dup.merge(:display_name => "new tester") new_attributes = user.attributes.dup.merge(:display_name => "new tester")
@ -80,7 +80,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
assert_response :success assert_response :success
assert_template :edit assert_template :edit
assert_select ".notice", /^User information updated successfully/ assert_select ".notice", /^User information updated successfully/
assert_select "form#accountForm > div.form-group > input#user_display_name[value=?]", "new tester" assert_select "form#accountForm > div > input#user_display_name[value=?]", "new tester"
# Record the change of name # Record the change of name
user.display_name = "new tester" user.display_name = "new tester"
@ -95,7 +95,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
assert_response :success assert_response :success
assert_template :edit assert_template :edit
assert_select ".notice", false assert_select ".notice", false
assert_select "form#accountForm > div.form-group > input.is-invalid#user_new_email" assert_select "form#accountForm > div > input.is-invalid#user_new_email"
# Changing email to one that exists should fail, regardless of case # Changing email to one that exists should fail, regardless of case
user.new_email = create(:user).email.upcase user.new_email = create(:user).email.upcase
@ -107,7 +107,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
assert_response :success assert_response :success
assert_template :edit assert_template :edit
assert_select ".notice", false assert_select ".notice", false
assert_select "form#accountForm > div.form-group > input.is-invalid#user_new_email" assert_select "form#accountForm > div > input.is-invalid#user_new_email"
# Changing email to one that doesn't exist should work # Changing email to one that doesn't exist should work
user.new_email = "new_tester@example.com" user.new_email = "new_tester@example.com"
@ -122,7 +122,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
assert_response :success assert_response :success
assert_template :edit assert_template :edit
assert_select ".notice", /^User information updated successfully/ assert_select ".notice", /^User information updated successfully/
assert_select "form#accountForm > div.form-group > input#user_new_email[value=?]", user.new_email assert_select "form#accountForm > div > input#user_new_email[value=?]", user.new_email
email = ActionMailer::Base.deliveries.first email = ActionMailer::Base.deliveries.first
assert_equal 1, email.to.count assert_equal 1, email.to.count
assert_equal user.new_email, email.to.first assert_equal user.new_email, email.to.first

View file

@ -31,7 +31,7 @@ class PreferencesControllerTest < ActionDispatch::IntegrationTest
assert_template :edit assert_template :edit
assert_select ".notice", false assert_select ".notice", false
assert_select ".error", true assert_select ".error", true
assert_select "form > div.form-group > select#user_preferred_editor > option[selected]", false assert_select "form > div > select#user_preferred_editor > option[selected]", false
# Changing to a valid editor should work # Changing to a valid editor should work
user.preferred_editor = "id" user.preferred_editor = "id"

View file

@ -39,7 +39,7 @@ class ProfilesControllerTest < ActionDispatch::IntegrationTest
assert_template :show assert_template :show
assert_select ".notice", /^Profile updated./ assert_select ".notice", /^Profile updated./
get edit_profile_path get edit_profile_path
assert_select "form > fieldset.form-group > div > div.col-sm-10 > div.form-check > input[name=avatar_action][checked][value=?]", "keep" assert_select "form > fieldset > div > div.col-sm-10 > div.form-check > input[name=avatar_action][checked][value=?]", "keep"
# Changing to a gravatar image should work # Changing to a gravatar image should work
put profile_path, :params => { :avatar_action => "gravatar", :user => { :description => user.description } } put profile_path, :params => { :avatar_action => "gravatar", :user => { :description => user.description } }
@ -50,7 +50,7 @@ class ProfilesControllerTest < ActionDispatch::IntegrationTest
assert_template :show assert_template :show
assert_select ".notice", /^Profile updated./ assert_select ".notice", /^Profile updated./
get edit_profile_path get edit_profile_path
assert_select "form > fieldset.form-group > div > div.col-sm-10 > div.form-group > div.form-check > input[name=avatar_action][checked][value=?]", "gravatar" assert_select "form > fieldset > div > div.col-sm-10 > div > div.form-check > input[name=avatar_action][checked][value=?]", "gravatar"
# Removing the image should work # Removing the image should work
put profile_path, :params => { :avatar_action => "delete", :user => { :description => user.description } } put profile_path, :params => { :avatar_action => "delete", :user => { :description => user.description } }
@ -61,7 +61,7 @@ class ProfilesControllerTest < ActionDispatch::IntegrationTest
assert_template :show assert_template :show
assert_select ".notice", /^Profile updated./ assert_select ".notice", /^Profile updated./
get edit_profile_path get edit_profile_path
assert_select "form > fieldset.form-group > div > div.col-sm-10 > div.form-check > input[name=avatar_action][checked]", false assert_select "form > fieldset > div > div.col-sm-10 > div > input[name=avatar_action][checked]", false
assert_select "form > fieldset.form-group > div > div.col-sm-10 > div.form-group > div.form-check > input[name=avatar_action][checked]", false assert_select "form > fieldset > div > div.col-sm-10 > div > div.form-check > input[name=avatar_action][checked]", false
end end
end end

View file

@ -151,7 +151,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
assert_response :success assert_response :success
assert_template "new" assert_template "new"
assert_select "form > div.form-group > input.is-invalid#user_email" assert_select "form > div > input.is-invalid#user_email"
end end
def test_save_duplicate_email def test_save_duplicate_email
@ -180,7 +180,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
assert_response :success assert_response :success
assert_template "new" assert_template "new"
assert_select "form > div.form-group > input.is-invalid#user_email" assert_select "form > div > input.is-invalid#user_email"
end end
def test_save_duplicate_email_uppercase def test_save_duplicate_email_uppercase
@ -209,7 +209,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
assert_response :success assert_response :success
assert_template "new" assert_template "new"
assert_select "form > div.form-group > input.is-invalid#user_email" assert_select "form > div > input.is-invalid#user_email"
end end
def test_save_duplicate_name def test_save_duplicate_name
@ -238,7 +238,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
assert_response :success assert_response :success
assert_template "new" assert_template "new"
assert_select "form > div.form-group > input.is-invalid#user_display_name" assert_select "form > div > input.is-invalid#user_display_name"
end end
def test_save_duplicate_name_uppercase def test_save_duplicate_name_uppercase
@ -267,7 +267,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
assert_response :success assert_response :success
assert_template "new" assert_template "new"
assert_select "form > div.form-group > input.is-invalid#user_display_name" assert_select "form > div > input.is-invalid#user_display_name"
end end
def test_save_blocked_domain def test_save_blocked_domain

View file

@ -51,7 +51,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
assert_template "users/new" assert_template "users/new"
assert_equal locale.to_s, response.headers["Content-Language"] assert_equal locale.to_s, response.headers["Content-Language"]
assert_select "form" assert_select "form"
assert_select "form > div.form-group > input.is-invalid#user_email" assert_select "form > div > input.is-invalid#user_email"
assert_no_missing_translations assert_no_missing_translations
end end
end end
@ -77,7 +77,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
end end
assert_response :success assert_response :success
assert_template "users/new" assert_template "users/new"
assert_select "form > div.form-group > input.is-invalid#user_display_name" assert_select "form > div > input.is-invalid#user_display_name"
assert_no_missing_translations assert_no_missing_translations
end end
end end