]> source.dussan.org Git - redmine.git/commitdiff
Refactors toggle checkboxes link and switch to SVG icon (#23980).
authorMarius Balteanu <marius.balteanu@zitec.com>
Mon, 9 Sep 2024 15:50:37 +0000 (15:50 +0000)
committerMarius Balteanu <marius.balteanu@zitec.com>
Mon, 9 Sep 2024 15:50:37 +0000 (15:50 +0000)
Patch by Mizuki ISHIKAWA (user:ishikawa999)

git-svn-id: https://svn.redmine.org/redmine/trunk@23047 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/helpers/application_helper.rb
app/views/roles/permissions.html.erb
app/views/trackers/fields.html.erb
app/views/workflows/_form.html.erb

index eedf4f8915a027542acc5d9af4481168f60354ad..8960f5ab9f17843012124736e7cea8b959f4dc41 100644 (file)
@@ -1597,11 +1597,13 @@ module ApplicationHelper
     link_to_function(l(:button_uncheck_all), "checkAll('#{form_name}', false)")
   end
 
-  def toggle_checkboxes_link(selector)
-    link_to_function '',
+  def toggle_checkboxes_link(selector, options={})
+    css_classes = 'icon icon-checked'
+    css_classes += ' ' + options[:class] if options[:class]
+    link_to_function icon_with_label('checked', ''),
                      "toggleCheckboxesBySelector('#{selector}')",
                      :title => "#{l(:button_check_all)} / #{l(:button_uncheck_all)}",
-                     :class => 'icon icon-checked'
+                     :class => css_classes
   end
 
   def progress_bar(pcts, options={})
index 07fb6f6156b845416c110e4d2c10e73135336c73..63a1267fcb5c0871f7554c8936b777523e5642a4 100644 (file)
     <th><%=l(:label_permissions)%></th>
     <% @roles.each do |role| %>
     <th>
-        <%= link_to_function('',
-                             "toggleCheckboxesBySelector('input.role-#{role.id}')",
-                             :title => "#{l(:button_check_all)} / #{l(:button_uncheck_all)}",
-                             :class => 'icon-only icon-checked') %>
+        <%= toggle_checkboxes_link("input.role-#{role.id}") %>
         <%= content_tag(role.builtin? ? 'em' : 'span', role.name) %>
     </th>
     <% end %>
         <% humanized_perm_name = l_or_humanize(permission.name, :prefix => 'permission_') %>
         <tr class="permission-<%= permission.name %>">
         <td class="name">
-            <%= link_to_function('',
-                                 "toggleCheckboxesBySelector('.permission-#{permission.name} input')",
-                                 :title => "#{l(:button_check_all)} / #{l(:button_uncheck_all)}",
-                                 :class => 'icon-only icon-checked') %>
+            <%= toggle_checkboxes_link(".permission-#{permission.name} input") %>
             <%= humanized_perm_name %>
         </td>
         <% @roles.each do |role| %>
index 0b0fee3736fd2bfc29f86c7aa23641a1e6e3cec3..5f44bf43b6c4568f8a53ed02640a65f59764a0ed 100644 (file)
@@ -9,9 +9,7 @@
         <th></th>
         <% @trackers.each do |tracker| %>
         <th>
-          <%= link_to_function('', "toggleCheckboxesBySelector('input.tracker-#{tracker.id}')",
-                               :title => "#{l(:button_check_all)} / #{l(:button_uncheck_all)}",
-                               :class => 'icon-only icon-checked') %>
+          <%= toggle_checkboxes_link("input.tracker-#{tracker.id}") %>
           <%= tracker.name %>
         </th>
         <% end %>
@@ -28,9 +26,7 @@
       <tr>
         <% field_name = l("field_#{field}".delete_suffix('_id')) %>
         <td class="name">
-          <%= link_to_function('', "toggleCheckboxesBySelector('input.core-field-#{field}')",
-                               :title => "#{l(:button_check_all)} / #{l(:button_uncheck_all)}",
-                               :class => 'icon-only icon-checked') %>
+          <%= toggle_checkboxes_link("input.core-field-#{field}") %>
           <%= field_name %>
         </td>
         <% @trackers.each do |tracker| %>
@@ -51,9 +47,7 @@
         <% @custom_fields.each do |field| %>
         <tr>
           <td class="name">
-            <%= link_to_function('', "toggleCheckboxesBySelector('input.custom-field-#{field.id}')",
-                                 :title => "#{l(:button_check_all)} / #{l(:button_uncheck_all)}",
-                                 :class => 'icon-only icon-checked') %>
+            <%= toggle_checkboxes_link("input.custom-field-#{field.id}") %>
             <%= field.name %>
           </td>
           <% @trackers.each do |tracker| %>
index f0863850f87da2b3bf4628b8fc7d7a63901d5f87..5b7c16bc9225ce1916c35da3cab878edca971e8a 100644 (file)
@@ -2,9 +2,7 @@
 <thead>
   <tr>
     <th>
-      <%= link_to_function('', "toggleCheckboxesBySelector('table.transitions-#{name} input[type=checkbox]:not(:disabled)')",
-                           :title => "#{l(:button_check_all)} / #{l(:button_uncheck_all)}",
-                           :class => 'no-tooltip icon-only icon-checked') %>
+      <%= toggle_checkboxes_link("table.transitions-#{name} input[type=checkbox]:not(:disabled)", { class: 'no-tooltip' }) %>
       <%=l(:label_current_status)%>
     </th>
     <th colspan="<%= @statuses.length %>"><%=l(:label_new_statuses_allowed)%></th>
@@ -13,9 +11,7 @@
     <td></td>
     <% for new_status in @statuses %>
     <td style="width:<%= 75 / @statuses.size %>%;">
-      <%= link_to_function('', "toggleCheckboxesBySelector('table.transitions-#{name} input[type=checkbox]:not(:disabled).new-status-#{new_status.id}')",
-                           :title => "#{l(:button_check_all)} / #{l(:button_uncheck_all)}",
-                           :class => 'no-tooltip icon-only icon-checked') %>
+      <%= toggle_checkboxes_link("table.transitions-#{name} input[type=checkbox]:not(:disabled).new-status-#{new_status.id}", { class: 'no-tooltip' }) %>
       <%= new_status.name %>
     </td>
     <% end %>
@@ -27,9 +23,7 @@
   <% next if old_status.nil? && name != 'always' %>
   <tr>
     <td class="name">
-      <%= link_to_function('', "toggleCheckboxesBySelector('table.transitions-#{name} input[type=checkbox]:not(:disabled).old-status-#{old_status.try(:id) || 0}')",
-                           :title => "#{l(:button_check_all)} / #{l(:button_uncheck_all)}",
-                           :class => 'no-tooltip icon-only icon-checked') %>
+      <%= toggle_checkboxes_link("table.transitions-#{name} input[type=checkbox]:not(:disabled).old-status-#{old_status.try(:id) || 0}", { class: 'no-tooltip' }) %>
       <% if old_status %>
         <% old_status_name = old_status.name %>
         <%= old_status_name %>