diff --git a/public/css/grocy.css b/public/css/grocy.css
index ae11d0ed..a860f329 100755
--- a/public/css/grocy.css
+++ b/public/css/grocy.css
@@ -355,6 +355,10 @@ a:not([href]) {
overflow: visible !important;
}
+tr.dtrg-group {
+ cursor: pointer;
+}
+
/* Third party component customizations - toastr */
#toast-container > div {
opacity: 1;
diff --git a/public/js/grocy.js b/public/js/grocy.js
index 4766d8d6..a297bb17 100644
--- a/public/js/grocy.js
+++ b/public/js/grocy.js
@@ -720,6 +720,7 @@ $(document).on("click", ".show-as-dialog-link", function(e)
});
// Default DataTables initialisation settings
+var collapsedGroups = {};
$.extend(true, $.fn.dataTable.defaults, {
'paginate': false,
'deferRender': true,
@@ -800,9 +801,30 @@ $.extend(true, $.fn.dataTable.defaults, {
{ type: 'chinese-string', targets: '_all' }
],
'rowGroup': {
- enable: false
+ enable: false,
+ startRender: function(rows, group)
+ {
+ var collapsed = !!collapsedGroups[group];
+ var toggleClass = collapsed ? "fa-caret-right" : "fa-caret-down";
+
+ rows.nodes().each(function(row)
+ {
+ row.style.display = collapsed ? "none" : "";
+ });
+
+ return $("
")
+ .append('' + group + ' | ')
+ .attr("data-name", group)
+ .toggleClass("collapsed", collapsed);
+ }
}
});
+$(document).on("click", "tr.dtrg-group", function()
+{
+ var name = $(this).data('name');
+ collapsedGroups[name] = !collapsedGroups[name];
+ $("table").DataTable().draw();
+});
// serializeJSON defaults
$.serializeJSON.defaultOptions.checkboxUncheckedValue = "0";
diff --git a/public/viewjs/shoppinglist.js b/public/viewjs/shoppinglist.js
index 31875067..0e2d65ba 100644
--- a/public/viewjs/shoppinglist.js
+++ b/public/viewjs/shoppinglist.js
@@ -1,6 +1,4 @@
-var collapsedGroups = {};
-
-var shoppingListTable = $('#shoppinglist-table').DataTable({
+var shoppingListTable = $('#shoppinglist-table').DataTable({
'order': [[1, 'asc']],
"orderFixed": [[3, 'asc']],
'columnDefs': [
@@ -11,34 +9,12 @@ var shoppingListTable = $('#shoppinglist-table').DataTable({
].concat($.fn.dataTable.defaults.columnDefs),
'rowGroup': {
enable: true,
- dataSrc: 3,
- startRender: function(rows, group)
- {
- var collapsed = !!collapsedGroups[group];
- var toggleClass = collapsed ? "fa-caret-right" : "fa-caret-down";
-
- rows.nodes().each(function(row)
- {
- row.style.display = collapsed ? "none" : "";
- });
-
- return $("
")
- .append('' + group + ' | ')
- .attr("data-name", group)
- .toggleClass("collapsed", collapsed);
- }
+ dataSrc: 3
}
});
$('#shoppinglist-table tbody').removeClass("d-none");
shoppingListTable.columns.adjust().draw();
-$(document).on("click", "tr.dtrg-group", function()
-{
- var name = $(this).data('name');
- collapsedGroups[name] = !collapsedGroups[name];
- shoppingListTable.draw();
-});
-
$("#search").on("keyup", Delay(function()
{
var value = $(this).val();
diff --git a/views/shoppinglist.blade.php b/views/shoppinglist.blade.php
index 6e03c80f..2bc10643 100644
--- a/views/shoppinglist.blade.php
+++ b/views/shoppinglist.blade.php
@@ -11,13 +11,6 @@
@push('pageStyles')
-
-
@endpush
@section('content')