More work in progress on multiple group by.
authorNik Okuntseff <support@anuko.com>
Sun, 28 Oct 2018 16:14:19 +0000 (16:14 +0000)
committerNik Okuntseff <support@anuko.com>
Sun, 28 Oct 2018 16:14:19 +0000 (16:14 +0000)
WEB-INF/templates/reports.tpl
reports.php

index 290e224..9c8221a 100644 (file)
@@ -133,17 +133,20 @@ function selectAssignedUsers(project_id) {
   }
 }
 
-// handleCheckboxes - unmarks and disables the "Totals only" checkbox when
+// handleCheckboxes - unmarks and hides the "Totals only" checkbox when
 // "no grouping" is selected in the associated dropdown.
-// In future we need to improve this function and hide not relevant elements completely.
 function handleCheckboxes() {
   var totalsOnlyCheckbox = document.getElementById("chtotalsonly");
+  var totalsOnlyLabel = document.getElementById("totals_only_label");
   if ("no_grouping" == document.getElementById("group_by").value) {
     // Unmark and disable the "Totals only" checkbox.
     totalsOnlyCheckbox.checked = false;
-    totalsOnlyCheckbox.disabled = true;
-  } else
-    totalsOnlyCheckbox.disabled = false;
+    totalsOnlyCheckbox.style.visibility = "hidden";
+    totalsOnlyLabel.style.visibility = "hidden";
+  } else {
+    totalsOnlyCheckbox.style.visibility = "visible";
+    totalsOnlyLabel.style.visibility = "visible";
+  }
 }
 </script>
 
@@ -304,7 +307,7 @@ function handleCheckboxes() {
           <td>{$forms.reportForm.group_by3.control}</td>
         </tr>
         <tr>
-          <td><label>{$forms.reportForm.chtotalsonly.control} {$i18n.label.totals_only}</label></td>
+            <td><span id="totals_only_label"><label>{$forms.reportForm.chtotalsonly.control} {$i18n.label.totals_only}</label></span></td>
         </tr>
       </table>
 
index ae5c937..dae0c18 100644 (file)
@@ -235,8 +235,8 @@ if ($custom_fields && $custom_fields->fields[0] && $custom_fields->fields[0]['ty
 $group_by_options_size = sizeof($group_by_options);
 $form->addInput(array('type'=>'combobox','onchange'=>'handleCheckboxes();','name'=>'group_by','data'=>$group_by_options));
 if (defined('MULTIPLE_GROUP_BY_DEBUG') && isTrue(MULTIPLE_GROUP_BY_DEBUG)) {
-  if ($group_by_options_size > 2) $form->addInput(array('type'=>'combobox','onchange'=>'handleCheckboxes();','name'=>'group_by2','data'=>$group_by_options));
-  if ($group_by_options_size > 3) $form->addInput(array('type'=>'combobox','onchange'=>'handleCheckboxes();','name'=>'group_by3','data'=>$group_by_options));
+  if ($group_by_options_size > 2) $form->addInput(array('type'=>'combobox','name'=>'group_by2','data'=>$group_by_options));
+  if ($group_by_options_size > 3) $form->addInput(array('type'=>'combobox','name'=>'group_by3','data'=>$group_by_options));
 }
 $form->addInput(array('type'=>'checkbox','name'=>'chtotalsonly'));