From 134fe46881f43a97b63f835a344859b277e90fc4 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Sat, 28 Oct 2017 17:50:11 +0200
Subject: [PATCH] allow user to hide/show columns

---
 smash/web/templates/subjects/index.html | 69 +++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/smash/web/templates/subjects/index.html b/smash/web/templates/subjects/index.html
index b7c87e5a..a708edf6 100644
--- a/smash/web/templates/subjects/index.html
+++ b/smash/web/templates/subjects/index.html
@@ -24,6 +24,66 @@
             <i class="fa fa-plus"></i>
             Add new subject
         </a>
+        <div id="visible-column-checkboxes" style="display:table">
+            <div style="display:table-row">
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="0" name="nd_number"/>ND
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="1" name="screening_number"/>Screening
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="2" name="first_name"/>First name
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="3" name="last_name"/>Last name
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="4" name="default_location"/>Default location
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="5" name="dead"/>Deceased
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="6" name="resigned"/>Resigned
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="7" name="postponed"/>Postponed
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="8" name="information_sent"/>Info sent
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="9" name="type"/>Type
+                </div>
+            </div>
+            <div style="display:table-row">
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="10" name="visit_1"/>Visit 1
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="11" name="visit_2"/>Visit 2
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="12" name="visit_3"/>Visit 3
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="13" name="visit_4"/>Visit 4
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="14" name="visit_5"/>Visit 5
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="15" name="visit_6"/>Visit 6
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="16" name="visit_7"/>Visit 7
+                </div>
+                <div style="display:table-cell">
+                    <input type="checkbox" checked data-column="17" name="visit_8"/>Visit 8
+                </div>
+            </div>
+        </div>
     </div>
 
     <div class="box-body">
@@ -305,6 +365,15 @@
             });
             $('#table_filter').css("display", "none");
         });
+        $('#visible-column-checkboxes  input').on('click', function (e) {
+            var visible = $(this).is(":checked");
+
+            // Get the column API object
+            var column = table.column($(this).attr('data-column'));
+            console.log($(this).attr('data-column'));
+            // Toggle the visibility
+            column.visible(visible);
+        });
     </script>
 
 {% endblock scripts %}
-- 
GitLab