Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENHANCEMENT: Added search filters to a couple of pages #270

Merged
merged 1 commit into from
Nov 22, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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