From 54717a81b14d6d59310a655c2fbb17f0f40f0ea0 Mon Sep 17 00:00:00 2001 From: Bernd Bestel Date: Mon, 9 Jul 2018 19:27:22 +0200 Subject: [PATCH] Streamline data tables --- public/viewjs/batteries.js | 31 ++++++++++++++------- public/viewjs/batteriesoverview.js | 15 +++++++++-- public/viewjs/habits.js | 31 ++++++++++++++------- public/viewjs/habitsoverview.js | 15 +++++++++-- public/viewjs/locations.js | 31 ++++++++++++++------- public/viewjs/manageapikeys.js | 43 +++++++++++++++++++----------- public/viewjs/products.js | 31 ++++++++++++++------- public/viewjs/quantityunits.js | 31 ++++++++++++++------- public/viewjs/shoppinglist.js | 31 ++++++++++++++------- public/viewjs/stockoverview.js | 3 ++- views/batteries.blade.php | 9 +++++++ views/batteriesoverview.blade.php | 9 +++++-- views/habits.blade.php | 9 +++++++ views/habitsoverview.blade.php | 9 +++++-- views/locations.blade.php | 9 +++++++ views/manageapikeys.blade.php | 9 +++++++ views/products.blade.php | 9 +++++++ views/quantityunits.blade.php | 9 +++++++ views/shoppinglist.blade.php | 9 +++++++ 19 files changed, 258 insertions(+), 85 deletions(-) diff --git a/public/viewjs/batteries.js b/public/viewjs/batteries.js index 019c8b82..1335f373 100644 --- a/public/viewjs/batteries.js +++ b/public/viewjs/batteries.js @@ -1,4 +1,24 @@ -$(document).on('click', '.battery-delete-button', function(e) +var batteriesTable = $('#batteries-table').DataTable({ + 'paginate': false, + 'order': [[1, 'asc']], + 'columnDefs': [ + { 'orderable': false, 'targets': 0 } + ], + 'language': JSON.parse(L('datatables_localization')) +}); + +$("#search").on("keyup", function() +{ + var value = $(this).val(); + if (value === "all") + { + value = ""; + } + + batteriesTable.search(value).draw(); +}); + +$(document).on('click', '.battery-delete-button', function (e) { var objectName = $(e.currentTarget).attr('data-battery-name'); var objectId = $(e.currentTarget).attr('data-battery-id'); @@ -33,12 +53,3 @@ } }); }); - -$('#batteries-table').DataTable({ - 'bPaginate': false, - 'order': [[1, 'asc']], - 'columnDefs': [ - { 'orderable': false, 'targets': 0 } - ], - 'language': JSON.parse(L('datatables_localization')) -}); diff --git a/public/viewjs/batteriesoverview.js b/public/viewjs/batteriesoverview.js index bccff7a2..7b7e2adf 100644 --- a/public/viewjs/batteriesoverview.js +++ b/public/viewjs/batteriesoverview.js @@ -1,5 +1,5 @@ -$('#batteries-overview-table').DataTable({ - 'bPaginate': false, +var batteriesOverviewTable = $('#batteries-overview-table').DataTable({ + 'paginate': false, 'order': [[2, 'desc']], 'columnDefs': [ { 'orderable': false, 'targets': 0 } @@ -7,6 +7,17 @@ 'language': JSON.parse(L('datatables_localization')) }); +$("#search").on("keyup", function() +{ + var value = $(this).val(); + if (value === "all") + { + value = ""; + } + + batteriesOverviewTable.search(value).draw(); +}); + $(document).on('click', '.track-charge-cycle-button', function(e) { var batteryId = $(e.currentTarget).attr('data-battery-id'); diff --git a/public/viewjs/habits.js b/public/viewjs/habits.js index 8ad30296..7e106ebb 100644 --- a/public/viewjs/habits.js +++ b/public/viewjs/habits.js @@ -1,4 +1,24 @@ -$(document).on('click', '.habit-delete-button', function(e) +var habitsTable = $('#habits-table').DataTable({ + 'paginate': false, + 'order': [[1, 'asc']], + 'columnDefs': [ + { 'orderable': false, 'targets': 0 } + ], + 'language': JSON.parse(L('datatables_localization')) +}); + +$("#search").on("keyup", function() +{ + var value = $(this).val(); + if (value === "all") + { + value = ""; + } + + habitsTable.search(value).draw(); +}); + +$(document).on('click', '.habit-delete-button', function (e) { var objectName = $(e.currentTarget).attr('data-habit-name'); var objectId = $(e.currentTarget).attr('data-habit-id'); @@ -33,12 +53,3 @@ } }); }); - -$('#habits-table').DataTable({ - 'bPaginate': false, - 'order': [[1, 'asc']], - 'columnDefs': [ - { 'orderable': false, 'targets': 0 } - ], - 'language': JSON.parse(L('datatables_localization')) -}); diff --git a/public/viewjs/habitsoverview.js b/public/viewjs/habitsoverview.js index f3830dd9..b7a3d84e 100644 --- a/public/viewjs/habitsoverview.js +++ b/public/viewjs/habitsoverview.js @@ -1,5 +1,5 @@ -$('#habits-overview-table').DataTable({ - 'bPaginate': false, +var habitsOverviewTable = $('#habits-overview-table').DataTable({ + 'paginate': false, 'order': [[2, 'desc']], 'columnDefs': [ { 'orderable': false, 'targets': 0 } @@ -7,6 +7,17 @@ 'language': JSON.parse(L('datatables_localization')) }); +$("#search").on("keyup", function() +{ + var value = $(this).val(); + if (value === "all") + { + value = ""; + } + + habitsOverviewTable.search(value).draw(); +}); + $(document).on('click', '.track-habit-button', function(e) { var habitId = $(e.currentTarget).attr('data-habit-id'); diff --git a/public/viewjs/locations.js b/public/viewjs/locations.js index b4d1a052..4ed99907 100644 --- a/public/viewjs/locations.js +++ b/public/viewjs/locations.js @@ -1,4 +1,24 @@ -$(document).on('click', '.location-delete-button', function(e) +var locationsTable = $('#locations-table').DataTable({ + 'paginate': false, + 'order': [[1, 'asc']], + 'columnDefs': [ + { 'orderable': false, 'targets': 0 } + ], + 'language': JSON.parse(L('datatables_localization')) +}); + +$("#search").on("keyup", function() +{ + var value = $(this).val(); + if (value === "all") + { + value = ""; + } + + locationsTable.search(value).draw(); +}); + +$(document).on('click', '.location-delete-button', function (e) { var objectName = $(e.currentTarget).attr('data-location-name'); var objectId = $(e.currentTarget).attr('data-location-id'); @@ -33,12 +53,3 @@ } }); }); - -$('#locations-table').DataTable({ - 'bPaginate': false, - 'order': [[1, 'asc']], - 'columnDefs': [ - { 'orderable': false, 'targets': 0 } - ], - 'language': JSON.parse(L('datatables_localization')) -}); diff --git a/public/viewjs/manageapikeys.js b/public/viewjs/manageapikeys.js index 2596b308..6d5bec44 100644 --- a/public/viewjs/manageapikeys.js +++ b/public/viewjs/manageapikeys.js @@ -1,4 +1,30 @@ -$(document).on('click', '.apikey-delete-button', function(e) +var apiKeysTable = $('#apikeys-table').DataTable({ + 'paginate': false, + 'order': [[4, 'desc']], + 'columnDefs': [ + { 'orderable': false, 'targets': 0 } + ], + 'language': JSON.parse(L('datatables_localization')) +}); + +var createdApiKeyId = GetUriParam('CreatedApiKeyId'); +if (createdApiKeyId !== undefined) +{ + $('#apiKeyRow_' + createdApiKeyId).effect('highlight', {}, 3000); +} + +$("#search").on("keyup", function() +{ + var value = $(this).val(); + if (value === "all") + { + value = ""; + } + + apiKeysTable.search(value).draw(); +}); + +$(document).on('click', '.apikey-delete-button', function (e) { var objectName = $(e.currentTarget).attr('data-apikey-apikey'); var objectId = $(e.currentTarget).attr('data-apikey-id'); @@ -33,18 +59,3 @@ } }); }); - -$('#apikeys-table').DataTable({ - 'bPaginate': false, - 'order': [[4, 'desc']], - 'columnDefs': [ - { 'orderable': false, 'targets': 0 } - ], - 'language': JSON.parse(L('datatables_localization')) -}); - -var createdApiKeyId = GetUriParam('CreatedApiKeyId'); -if (createdApiKeyId !== undefined) -{ - $('#apiKeyRow_' + createdApiKeyId).effect('highlight', { }, 3000); -} diff --git a/public/viewjs/products.js b/public/viewjs/products.js index 079317cd..7f65eb1f 100644 --- a/public/viewjs/products.js +++ b/public/viewjs/products.js @@ -1,4 +1,24 @@ -$(document).on('click', '.product-delete-button', function(e) +var productsTable = $('#products-table').DataTable({ + 'paginate': false, + 'order': [[1, 'asc']], + 'columnDefs': [ + { 'orderable': false, 'targets': 0 } + ], + 'language': JSON.parse(L('datatables_localization')) +}); + +$("#search").on("keyup", function() +{ + var value = $(this).val(); + if (value === "all") + { + value = ""; + } + + productsTable.search(value).draw(); +}); + +$(document).on('click', '.product-delete-button', function (e) { var objectName = $(e.currentTarget).attr('data-product-name'); var objectId = $(e.currentTarget).attr('data-product-id'); @@ -33,12 +53,3 @@ } }); }); - -$('#products-table').DataTable({ - 'bPaginate': false, - 'order': [[1, 'asc']], - 'columnDefs': [ - { 'orderable': false, 'targets': 0 } - ], - 'language': JSON.parse(L('datatables_localization')) -}); diff --git a/public/viewjs/quantityunits.js b/public/viewjs/quantityunits.js index fd184141..2aee5631 100644 --- a/public/viewjs/quantityunits.js +++ b/public/viewjs/quantityunits.js @@ -1,4 +1,24 @@ -$(document).on('click', '.quantityunit-delete-button', function(e) +var quantityUnitsTable = $('#quantityunits-table').DataTable({ + 'paginate': false, + 'order': [[1, 'asc']], + 'columnDefs': [ + { 'orderable': false, 'targets': 0 } + ], + 'language': JSON.parse(L('datatables_localization')) +}); + +$("#search").on("keyup", function() +{ + var value = $(this).val(); + if (value === "all") + { + value = ""; + } + + quantityUnitsTable.search(value).draw(); +}); + +$(document).on('click', '.quantityunit-delete-button', function (e) { var objectName = $(e.currentTarget).attr('data-quantityunit-name'); var objectId = $(e.currentTarget).attr('data-quantityunit-id'); @@ -33,12 +53,3 @@ } }); }); - -$('#quantityunits-table').DataTable({ - 'bPaginate': false, - 'order': [[1, 'asc']], - 'columnDefs': [ - { 'orderable': false, 'targets': 0 } - ], - 'language': JSON.parse(L('datatables_localization')) -}); diff --git a/public/viewjs/shoppinglist.js b/public/viewjs/shoppinglist.js index 0fad5b73..ce56ed81 100644 --- a/public/viewjs/shoppinglist.js +++ b/public/viewjs/shoppinglist.js @@ -1,4 +1,24 @@ -$(document).on('click', '.shoppinglist-delete-button', function(e) +var shoppingListTable = $('#shoppinglist-table').DataTable({ + 'paginate': false, + 'order': [[1, 'asc']], + 'columnDefs': [ + { 'orderable': false, 'targets': 0 } + ], + 'language': JSON.parse(L('datatables_localization')) +}); + +$("#search").on("keyup", function() +{ + var value = $(this).val(); + if (value === "all") + { + value = ""; + } + + shoppingListTable.search(value).draw(); +}); + +$(document).on('click', '.shoppinglist-delete-button', function (e) { Grocy.Api.Get('delete-object/shopping_list/' + $(e.currentTarget).attr('data-shoppinglist-id'), function(result) @@ -25,12 +45,3 @@ $(document).on('click', '#add-products-below-min-stock-amount', function(e) } ); }); - -$('#shoppinglist-table').DataTable({ - 'bPaginate': false, - 'order': [[1, 'asc']], - 'columnDefs': [ - { 'orderable': false, 'targets': 0 } - ], - 'language': JSON.parse(L('datatables_localization')) -}); diff --git a/public/viewjs/stockoverview.js b/public/viewjs/stockoverview.js index c7f349b0..148acce7 100644 --- a/public/viewjs/stockoverview.js +++ b/public/viewjs/stockoverview.js @@ -5,7 +5,8 @@ { 'orderable': false, 'targets': 0 }, { 'visible': false, 'targets': 4 } ], - 'language': JSON.parse(L('datatables_localization')) + 'language': JSON.parse(L('datatables_localization')), + 'scrollY': false }); $("#location-filter").on("change", function() diff --git a/views/batteries.blade.php b/views/batteries.blade.php index 0fd78565..cde45cb8 100644 --- a/views/batteries.blade.php +++ b/views/batteries.blade.php @@ -12,6 +12,15 @@ +
+
+
+ + +
+
+
+
diff --git a/views/batteriesoverview.blade.php b/views/batteriesoverview.blade.php index 3e29ace5..c34e95b4 100644 --- a/views/batteriesoverview.blade.php +++ b/views/batteriesoverview.blade.php @@ -16,10 +16,15 @@

{{ $L('#1 batteries are due to be charged within the next #2 days', $countDueNextXDays, $nextXDays) }}

{{ $L('#1 batteries are overdue to be charged', $countOverdue) }}

+
+
+
+ + +
+
-
-
diff --git a/views/habits.blade.php b/views/habits.blade.php index a8bb5f14..3b643d99 100644 --- a/views/habits.blade.php +++ b/views/habits.blade.php @@ -12,6 +12,15 @@ +
+
+
+ + +
+
+
+
diff --git a/views/habitsoverview.blade.php b/views/habitsoverview.blade.php index 9d29d932..1c62d59a 100644 --- a/views/habitsoverview.blade.php +++ b/views/habitsoverview.blade.php @@ -16,10 +16,15 @@

{{ $L('#1 habits are due to be done within the next #2 days', $countDueNextXDays, $nextXDays) }}

{{ $L('#1 habits are overdue to be done', $countOverdue) }}

+
+
+
+ + +
+
-
-
diff --git a/views/locations.blade.php b/views/locations.blade.php index 26b25cd7..32f77758 100644 --- a/views/locations.blade.php +++ b/views/locations.blade.php @@ -12,6 +12,15 @@ +
+
+
+ + +
+
+
+
diff --git a/views/manageapikeys.blade.php b/views/manageapikeys.blade.php index 210f63c4..595e625b 100644 --- a/views/manageapikeys.blade.php +++ b/views/manageapikeys.blade.php @@ -18,6 +18,15 @@

{{ $L('REST API & data model documentation') }}

+
+
+
+ + +
+
+
+
diff --git a/views/products.blade.php b/views/products.blade.php index c52b231f..9a93d7f8 100644 --- a/views/products.blade.php +++ b/views/products.blade.php @@ -12,6 +12,15 @@ +
+
+
+ + +
+
+
+
diff --git a/views/quantityunits.blade.php b/views/quantityunits.blade.php index f3c863c4..17741416 100644 --- a/views/quantityunits.blade.php +++ b/views/quantityunits.blade.php @@ -12,6 +12,15 @@ +
+
+
+ + +
+
+
+
diff --git a/views/shoppinglist.blade.php b/views/shoppinglist.blade.php index 3c7fb54a..462e75fc 100644 --- a/views/shoppinglist.blade.php +++ b/views/shoppinglist.blade.php @@ -15,6 +15,15 @@ +
+
+
+ + +
+
+
+