diff --git a/src/app.js b/src/app.js deleted file mode 100644 index 84678152b738c16e811078399e8b5301f1371262..0000000000000000000000000000000000000000 --- a/src/app.js +++ /dev/null @@ -1,87 +0,0 @@ -//var $ = require( 'jquery' ); -//var DataTable = require( 'datatables.net' )(window, $); - -const sql = require('mssql') -const config = { - server: 'uwe-sdgp.database.windows.net', - database: 'feeding_inc', - user: 'fi_developer', - password: 'Eggyweggy156', - port: 1433, - options: { - encrypt: true - } -}; - -// sql.connect(config, function(err) { -// if (err) { -// console.log(err); -// } else { -// console.log('connected to the database!'); -// sql.query('SELECT * FROM fid_patients', function(err, result) { -// if (err) { -// console.log('error'); -// console.log(err); -// } else { -// console.log(result); -// } -// }); -// } -// }); - -// function populateDashboardTable() { -// const dashboardData = []; -var data = []; -// Connect to Database -sql.connect(config, function(err) { - if (err) { - console.log(err); - } else { - console.log('connected'); - sql.query('SELECT * FROM fid_patients', function(err, result) { - return result; - // if (err) { - // console.log('error'); - // } else { - // console.log('query'); - // //dashboardData = Object.values(result); - // //console.log(dashboardData); - // // data = result - // return result; - // } - }) - - // var table = ""; - - // for (var i = 0; i < data.length; i++) { - // var tr = "<tr>"; - // tr += "<td>"+ data[i][0] + "</td>"; - // tr += "<td>" + data[i][1] + "</td>"; - // tr += "<td>" + data[i][2] + "</td>"; - // tr += "<td>" + data[i][3] + "</td>"; - // tr += "<td>" + data[i][4] + "</td>"; - // tr += "<td>" + data[i][5] + "</td>"; - // tr += "<td>" + data[i][6] + "</td>"; - // tr += "<td>" + data[i][7] + "</td>"; - // tr += "<td>" + data[i][8] + "</td>"; - // tr += "<td>" + data[i][9] + "</td>"; - // tr += "<td>" + data[i][10] + "</td>"; - // tr += "<td>" + data[i][11] + "</td>"; - // tr += "<td>" + data[i][12] + "</td>"; - // tr += "<td>" + data[i][13] + "</td>"; - // tr += "<td>" + data[i][14] + "</td>"; - // tr += "<td>" + data[i][15] + "</td>"; - // tr += "<td>" + data[i][16] + "</td>"; - // tr += "<td>" + data[i][17] + "</td>"; - // tr += "</tr>"; - - // table += tr; - // } - // console.log(table); - - //document.getElementById("dashboardTableBody").innerHTML += table; - } -}) -// } - -// populateDashboardTable(); \ No newline at end of file diff --git a/src/data.js b/src/data.js index 5a85987fc1ed74b28086ca9ac02dcf96689336e1..a88371f7fdedfdaefbe2c71796f904f8401e8370 100644 --- a/src/data.js +++ b/src/data.js @@ -1,3 +1,4 @@ +const { type } = require("jquery"); var sql = require("mssql"); const config = { @@ -29,7 +30,6 @@ sql.connect(config, function(err) { function displayDataTable(data){ $.fn.dataTable.ext.errMode = 'throw'; - // $(document).ready(function () { $('#dashboardTable').DataTable({ data: data, pagingType: 'full_numbers', @@ -37,6 +37,7 @@ function displayDataTable(data){ lengthChange: false, bAutoWidth: false, searching: false, + bProcessing: true, drawCallback: function() { $($.fn.dataTable.tables(true)).DataTable().responsive.recalc(); }, @@ -48,7 +49,8 @@ function displayDataTable(data){ header: function ( row ) { var data = row.data(); return 'Details for patient '+data.patient_id; - } + }, + fadeDelay: 0 }), renderer: $.fn.dataTable.Responsive.renderer.tableAll( { tableClass: 'table' @@ -93,9 +95,35 @@ function displayDataTable(data){ { "data": "patient_referral", "defaultContent": "NULL"}, // { data: "user_id" } - ] + ], + aoColumnDefs: [{ + targets: 17, + mRender: function (data, type, full, meta) { + return '<input type="checkbox" class="minimal" onchange="checkReferral(this)" id='+ full.patient_id +''+ (data ? ' checked' : '') +'/>'; + } + }] }).on( 'select', function ( e, dt, type, indexes ) { //if not responsive view launch responsive modal }); - // }) +} + +// Function triggered when 'referral' checkbox is changed. Updates referral column in database based on selection and patient ID. +function checkReferral(data){ + var column_id = parseInt($(data).attr("id")); // Column ID = Row patient ID + var checked = data.checked ? 1:0; // Convert checkbox 'true' / 'false' to 1 / 0. + + sql.connect(config, function(err) { + + if (err) console.log(err); + + let sqlRequest = new sql.Request(); + + let sqlQuery = `UPDATE fid_patients SET patient_referral = ${checked} WHERE patient_id = ${column_id}`; + sqlRequest.query(sqlQuery, function(err,data) { + if (err) console.log(err); + + + sql.close(); + }); + }); } \ No newline at end of file diff --git a/src/index.css b/src/index.css index 402c0631e61bfb744faa6a5d94a993ae6ea3ba6c..758ba55b19c6e960d1a61d4c3f962669fef713b9 100644 --- a/src/index.css +++ b/src/index.css @@ -134,4 +134,23 @@ i.csv_x { .upload_csv_row { padding-top: 15%; } +} + +/* Reports Page */ + +.block { + background-color: white; + box-shadow: 0 1px 2px rgba(214,219,226,.5), 0 1px 2px rgba(214,219,226,.5); +} + +.block.block-rounded { + border-radius: .5rem; +} + +.block-header-default { + background: #f6f7f9; +} + +.block-header { + padding: .5rem 1.25rem; } \ No newline at end of file diff --git a/src/patientreferral.js b/src/patientreferral.js index e1ad4d5a2f15b6f3bf74b7c7c10e8b4f25559b0e..1d0f95a8fdfcfa7f5ab916fa2afeb45f4a4c96a2 100644 --- a/src/patientreferral.js +++ b/src/patientreferral.js @@ -24,7 +24,6 @@ var sql = require("mssql"); if (err) console.log(err); displayGraph(result.recordset[0]); - console.log(result.recordset[0]); sql.close(); }) @@ -43,7 +42,6 @@ var sql = require("mssql"); } ] }; - console.log(typeof(data.notReferred)); new Chart( document.getElementById('patient-referrals'), diff --git a/src/reports.html b/src/reports.html index e52c3e453d4bc329b5fd4e71e67845a8cc87e13c..af21a505334017bdf5bcccc03e0a3ee4736ba82a 100644 --- a/src/reports.html +++ b/src/reports.html @@ -65,7 +65,7 @@ <div class="content mt-3" style="width: 90%; padding: 1.75rem 1.75rem 1px; margin: 0 auto;"> <div class="row" style="display: flex; flex-wrap: wrap;"> <div class="report_box col-md-6 col-xl-3"> - <div class="rounded d-flex flex-column h-100 mb-0" style="background-color: rgb(212, 212, 212);"> + <div class="block block-rounded d-flex flex-column h-100 mb-0"> <div class="content flex-grow-1 d-flex justify-content-between align-items-center" style="padding: 1.25rem;"> <dl class="mb-0"> <dt class="fs-3 fw-bold">64</dt> @@ -78,7 +78,7 @@ </div> </div> <div class="report_box col-md-6 col-xl-3"> - <div class="rounded d-flex flex-column h-100 mb-0" style="background-color: rgb(212, 212, 212);"> + <div class="block block-rounded d-flex flex-column h-100 mb-0"> <div class="content flex-grow-1 d-flex justify-content-between align-items-center" style="padding: 1.25rem;"> <dl class="mb-0"> <dt class="fs-3 fw-bold">32</dt> @@ -91,7 +91,7 @@ </div> </div> <div class="report_box col-md-6 col-xl-3"> - <div class="rounded d-flex flex-column h-100 mb-0" style="background-color: rgb(212, 212, 212);"> + <div class="block block-rounded d-flex flex-column h-100 mb-0"> <div class="content flex-grow-1 d-flex justify-content-between align-items-center" style="padding: 1.25rem;"> <dl class="mb-0"> <dt class="fs-3 fw-bold">8</dt> @@ -104,7 +104,7 @@ </div> </div> <div class="report_box col-md-6 col-xl-3"> - <div class="rounded d-flex flex-column h-100 mb-0" style="background-color: rgb(212, 212, 212);"> + <div class="block block-rounded d-flex flex-column h-100 mb-0"> <div class="content flex-grow-1 d-flex justify-content-between align-items-center" style="padding: 1.25rem;"> <dl class="mb-0"> <dt class="fs-3 fw-bold">12.5%</dt> @@ -119,31 +119,31 @@ </div> <div class="row"> <div class="col-xl-8 col-xxl-9 d-flex flex-column"> - <!-- <div class="block block-rounded flex-grow-1 d-flex flex-column"> + <div class="block block-rounded flex-grow-1 d-flex flex-column"> <div class="block-header block-header-default"> <h4 class="block-title">Patient referral</h4> </div> <div class="block-content block-content-full flex-grow-1 d-flex align-items-center"> <canvas id="patient-referrals"></canvas> </div> - </div> --> + </div> </div> <div class="col-xl-4 col-xxl-3 d-flex flex-column"> <div class="row flex-grow-1"> - <div class="col-md-4 col-xl-12"> - <div class="block block-rounded flex-grow-1 d-flex flex-column"> + <div class="col-md-4 col-xl-12 mb-3"> + <!-- <div class="block block-rounded flex-grow-1 d-flex flex-column"> <div class="block-header block-header-default"> <h4 class="block-title">Patient referral</h4> </div> <div class="block-content block-content-full flex-grow-1 d-flex align-items-center"> <canvas id="patient-referrals"></canvas> </div> - </div> + </div> --> </div> - <div class="col-md-4 col-xl-12"> + <div class="col-md-4 col-xl-12 mb-3"> </div> - <div class="col-md-4 col-xl-12"> + <div class="col-md-4 col-xl-12 mb-3"> </div> </div> diff --git a/src/upload_csv.html b/src/upload_csv.html index f75e21f1eae16d20696036ba185dd2498bdaf926..44a2fe707c566a2323ef8a3ad16f06b3daf7ae41 100644 --- a/src/upload_csv.html +++ b/src/upload_csv.html @@ -4,10 +4,7 @@ <meta charset="UTF-8" /> <title>FeedingInc</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> - - <link rel="stylesheet" href="https://cdn.datatables.net/1.13.4/css/jquery.dataTables.css" /> - <script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.js"></script> <link rel="stylesheet" href="index.css" /> <link rel="stylesheet" href="../node_modules/bootstrap/dist/css/bootstrap.min.css"> <link rel="stylesheet" href="../node_modules/bootstrap-icons/font/bootstrap-icons.css">