Skip to content

Commit

Permalink
Merge pull request #270 from gavsto/dev
Browse files Browse the repository at this point in the history
ENHANCEMENT: Added search filters to a couple of pages
  • Loading branch information
KelvinTegelaar authored Nov 22, 2021
2 parents dd0d5c8 + 152091c commit dfc902e
Show file tree
Hide file tree
Showing 3 changed files with 255 additions and 104 deletions.
228 changes: 130 additions & 98 deletions js/datatables/datatablesDevices.js
Original file line number Diff line number Diff line change
@@ -1,105 +1,137 @@
$(document).ready(function () {
let searchParams = new URLSearchParams(window.location.search)
var TenantID = '';
if (searchParams.has('Tenantfilter')) {
TenantID = searchParams.get('Tenantfilter')
}
let searchParams = new URLSearchParams(window.location.search)
var TenantID = '';
if (searchParams.has('Tenantfilter')) {
TenantID = searchParams.get('Tenantfilter')
}

var todayDate = new Date().toISOString().slice(0, 10);
if (TenantID !== '') {
$('.datatable-1').dataTable(
{
language: {
paginate: {
next: '<i class="fas fa-arrow-right"></i>',
previous: '<i class="fas fa-arrow-left"></i>'
}
},
"columnDefs": [
{ "className": "dt-center", "targets": [-1] },
var todayDate = new Date().toISOString().slice(0, 10);
if (TenantID !== '') {
$('.datatable-1').dataTable(
{
language: {
paginate: {
next: '<i class="fas fa-arrow-right"></i>',
previous: '<i class="fas fa-arrow-left"></i>'
}
},
"columnDefs": [
{ "className": "dt-center", "targets": [-1] },

],
"deferRender": true,
"pageLength": 25,
responsive: true,
"ajax": {
],
"deferRender": true,
"pageLength": 25,
responsive: true,
"ajax": {

"url": "/api/ListDevices?Tenantfilter=" + TenantID,
"dataSrc": ""
},
dom: 'fBlrtip',
"columns": [
{ "data": "displayName" },
{
"data": "accountEnabled",
"render": function (data, type, row) {
if (type === "export" || type === "sort" || type === "filter") {
return data;
}
if (data === true) {
return '<i class="fas fa-check-circle text-success fa-2x"></i>';
} else {
return '<i class="fas fa-times-circle text-danger fa-2x"></i></a>';
}
}
},
{
"data": "isCompliant",
"render": function (data, type, row) {
if (type === "export" || type === "sort" || type === "filter") {
return data;
}
if (data === true) {
return '<i class="fas fa-check-circle text-success fa-2x"></i>';
} else {
return '<i class="fas fa-times-circle text-danger fa-2x"></i></a>';
}
}
},
{ "data": "manufacturer" },
{ "data": "model" },
{ "data": "operatingSystem" },
{ "data": "operatingSystemVersion" },
{ "data": "createdDateTime" },
{ "data": "approximateLastSignInDateTime" },
{ "data": "deviceOwnership" },
{ "data": "enrollmentType" },
{ "data": "managementType" },
{
"data": "onPremisesSyncEnabled",
"render": function (data, type, row) {
if (type === "export" || type === "sort" || type === "filter") {
return data;
}
if (data === true) {
return '<i class="fas fa-check-circle text-success fa-2x"></i>';
} else {
return '<i class="fas fa-times-circle text-danger fa-2x"></i></a>';
}
}
},
{ "data": "trustType" }
],
'columnDefs': [
{
"targets": [1, 2, 3, 4, 5, 9, 11, 12, 13], // your case first column
"className": "text-center"
}
],
buttons: [
{ extend: 'copyHtml5', className: 'btn btn-primary btn-sm' },
{ extend: 'excelHtml5', className: 'btn btn-primary btn-sm', title: 'Device List - ' + TenantID + " - " + todayDate, exportOptions: {orthogonal: "export"} },
{ extend: 'csvHtml5', className: 'btn btn-primary btn-sm', title: 'Device List - ' + TenantID + " - " + todayDate, exportOptions: {orthogonal: "export"} },
{ extend: 'pdfHtml5', className: 'btn btn-primary btn-sm', pageSize: 'A2', orientation: 'landscape', title: 'Device List - ' + TenantID + " - " + todayDate, exportOptions: { columns: [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], orthogonal: "export" } },
],
"order": [[0, "asc"]],
"url": "/api/ListDevices?Tenantfilter=" + TenantID,
"dataSrc": ""
},
dom: 'fBlrtip',
"columns": [
{ "data": "displayName" },
{
"data": "accountEnabled",
"render": function (data, type, row) {
if (type === "export" || type === "sort" || type === "filter") {
return data;
}
if (data === true) {
return '<i class="fas fa-check-circle text-success" style="font-size:1.3rem;"></i>';
} else {
return '<i class="fas fa-times-circle text-danger" style="font-size:1.3rem;"></i></a>';
}
}
);
}
else {
$("#AccountTable").append("<tr><td colspan='8'>Select a Tenant to get started.</td></tr>")
}
},
{
"data": "isCompliant",
"render": function (data, type, row) {
if (type === "export" || type === "sort" || type === "filter") {
return data;
}
if (data === true) {
return '<i class="fas fa-check-circle text-success" style="font-size:1.3rem;"></i>';
} else {
return '<i class="fas fa-times-circle text-danger" style="font-size:1.3rem;"></i></a>';
}
}
},
{ "data": "manufacturer" },
{ "data": "model" },
{ "data": "operatingSystem" },
{ "data": "operatingSystemVersion" },
{ "data": "createdDateTime" },
{ "data": "approximateLastSignInDateTime" },
{ "data": "deviceOwnership" },
{ "data": "enrollmentType" },
{ "data": "managementType" },
{
"data": "onPremisesSyncEnabled",
"render": function (data, type, row) {
if (type === "export" || type === "sort" || type === "filter") {
return data;
}
if (data === true) {
return '<i class="fas fa-check-circle text-success" style="font-size:1.3rem;"></i>';
} else {
return '<i class="fas fa-times-circle text-danger" style="font-size:1.3rem;"></i></a>';
}
}
},
{ "data": "trustType" }
],
'columnDefs': [
{
"targets": [1, 2, 3, 4, 5, 9, 11, 12, 13], // your case first columns
"className": "text-center"
}
],
buttons: [
{ extend: 'copyHtml5', className: 'btn btn-primary btn-sm' },
{ extend: 'excelHtml5', className: 'btn btn-primary btn-sm', title: 'Device List - ' + TenantID + " - " + todayDate, exportOptions: { orthogonal: "export" } },
{ extend: 'csvHtml5', className: 'btn btn-primary btn-sm', title: 'Device List - ' + TenantID + " - " + todayDate, exportOptions: { orthogonal: "export" } },
{ extend: 'pdfHtml5', className: 'btn btn-primary btn-sm', pageSize: 'A2', orientation: 'landscape', title: 'Device List - ' + TenantID + " - " + todayDate, exportOptions: { columns: [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], orthogonal: "export" } },
{
text: 'Compliant Devices',
className: 'dt-button btn btn-secondary btn-sm',
action: function (e, dt, node, config) {
dt.columns().search('').draw();
dt.columns(2).search('True').draw();
}
},
{
text: 'Non-Compliant Devices',
className: 'dt-button btn btn-secondary btn-sm',
action: function (e, dt, node, config) {
dt.columns().search('').draw();
dt.columns(2).search('False').draw();
}
},
{
text: 'Enabled and Non-Compliant',
className: 'dt-button btn btn-secondary btn-sm',
action: function (e, dt, node, config) {
dt.columns().search('').draw();
dt.columns(2).search('False').draw();
dt.columns(1).search('True').draw();
}
},
{
text: 'All Results',
className: 'dt-button btn btn-secondary btn-sm',
action: function (e, dt, node, config) {
dt.columns().search('').draw();
}
}
],
"order": [[0, "asc"]],
}
);
}
else {
$("#AccountTable").append("<tr><td colspan='8'>Select a Tenant to get started.</td></tr>")
}

$('.dataTables_paginate').addClass("btn-group datatable-pagination");
$('.dataTables_paginate > a').wrapInner('<span />');
$('.dataTables_paginate').addClass("btn-group datatable-pagination");
$('.dataTables_paginate > a').wrapInner('<span />');
});
69 changes: 66 additions & 3 deletions js/datatables/datatablesgroups.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,69 @@ $(document).ready(function () {
{ extend: 'excelHtml5', className: 'btn btn-primary btn-sm', title: 'Group List - ' + TenantID + " - " + todayDate, exportOptions: { columns: [0, 1, 2, 3, 4, 5], orthogonal: "export" } },
{ extend: 'csvHtml5', className: 'btn btn-primary btn-sm', title: 'Group List - ' + TenantID + " - " + todayDate, exportOptions: { columns: [0, 1, 2, 3, 4, 5], orthogonal: "export" } },
{ extend: 'pdfHtml5', className: 'btn btn-primary btn-sm', orientation: 'landscape', pageSize: 'A2', title: 'Group List - ' + TenantID + " - " + todayDate, exportOptions: { columns: [0, 1, 2, 3, 4, 5], orthogonal: "export" } },
{
text: 'Security Groups',
className: 'dt-button btn btn-secondary btn-sm',
action: function (e, dt, node, config) {
dt.columns().search('').draw();
dt.columns(1).search('Security').draw();
}
},
{
text: 'Microsoft 365 Groups',
className: 'dt-button btn btn-secondary btn-sm',
action: function (e, dt, node, config) {
dt.columns().search('').draw();
dt.columns(1).search('Microsoft 365').draw();
}
},
{
text: 'Distribution List Groups',
className: 'dt-button btn btn-secondary btn-sm',
action: function (e, dt, node, config) {
dt.columns().search('').draw();
dt.columns(1).search('Distribution List').draw();
}
},
{
text: 'Mail-Enabled Security Groups',
className: 'dt-button btn btn-secondary btn-sm',
action: function (e, dt, node, config) {
dt.columns().search('').draw();
dt.columns(1).search('Mail-Enabled Security').draw();
}
},
{
text: 'Teams Enabled',
className: 'dt-button btn btn-secondary btn-sm',
action: function (e, dt, node, config) {
dt.columns().search('').draw();
dt.columns(3).search('Teams Enabled').draw();
}
},
{
text: 'No Teams Enabled',
className: 'dt-button btn btn-secondary btn-sm',
action: function (e, dt, node, config) {
dt.columns().search('').draw();
dt.columns(3).search('Not Team Enabled').draw();
}
},
{
text: 'Dynamic Groups',
className: 'dt-button btn btn-secondary btn-sm',
action: function (e, dt, node, config) {
dt.columns().search('').draw();
dt.columns(2).search('Is Dynamic Group').draw();
}
},
{
text: 'All Results',
className: 'dt-button btn btn-secondary btn-sm',
action: function (e, dt, node, config) {
dt.columns().search('').draw();
}
}
],
"columns": [
{ "data": "displayName" },
Expand All @@ -42,7 +105,7 @@ $(document).ready(function () {
"render": function (data, type, row) {
if (type === "export" || type === "sort" || type === "filter") {
if (data === true) {
return 'Dynamic Group'
return 'Is Dynamic Group'
} else if (data === false) {
return 'Not a Dynamic Group'
} else {
Expand All @@ -67,7 +130,7 @@ $(document).ready(function () {
if (data === true) {
return 'Teams Enabled'
} else if (data === false) {
return 'Not Teams Enabled'
return 'Not Team Enabled'
} else {
return 'No Data'
}
Expand Down Expand Up @@ -127,4 +190,4 @@ $(document).ready(function () {

$('.dataTables_paginate').addClass("btn-group datatable-pagination");
$('.dataTables_paginate > a').wrapInner('<span />');
});
});
Loading

0 comments on commit dfc902e

Please sign in to comment.