aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2025-03-10 12:31:55 -0500
committerFrederick Muriuki Muriithi2025-03-10 12:32:18 -0500
commit144feac1b4980a3a5346afd9843f41426c6d33d9 (patch)
tree7706343940a8ba7ce4a6e066d5a002210ef3cdc4
parent0433a9cb880e26c06a8876d18a90c171eee500bd (diff)
downloadgn-uploader-144feac1b4980a3a5346afd9843f41426c6d33d9.tar.gz
Allow row selection by clicking anywhere on the row.
-rw-r--r--uploader/static/js/datatables.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/uploader/static/js/datatables.js b/uploader/static/js/datatables.js
index 76b1877..ff7a680 100644
--- a/uploader/static/js/datatables.js
+++ b/uploader/static/js/datatables.js
@@ -23,3 +23,29 @@ var dtAddRowSelectionHandler = (tableId) => {
});
});
};
+
+
+var toggleCheck = (checkboxOrRadio) => {
+ if (checkboxOrRadio.length > 0) {
+ var currentState = checkboxOrRadio.prop("checked");
+ var newState = !currentState;
+ if (currentState == true && checkboxOrRadio.attr("type").toLowerCase() == "radio") {
+ // We don't want to toggle from true to false by clicking on the row
+ // if it is a radio button.
+ newState = currentState;
+ }
+ checkboxOrRadio.prop("checked", newState);
+ checkboxOrRadio.trigger("change");
+ }
+};
+
+
+var dtAddRowClickHandler = (tableId) => {
+ $(tableId).on("draw.dt", (event) => {
+ $(tableId + " tbody tr").on("click", (event) => {
+ var row = event.target.closest("tr");
+ var checkboxOrRadio = $(row).find(".chk-row-select");
+ toggleCheck(checkboxOrRadio);
+ });
+ });
+};